Eu nu invat C, eu fac Pascal la scoala, tot ce stiu ii de pe net
. Merci, intre timp am descoperit ca se poate si cu classes .
[LE] : Aici e o sursa care face adunarea pe numere mari, A + B :
# include <iostream>
# include <vector>
using namespace std;
# define A ( *this )
class Mare : protected vector < int > {
public :
Mare ( int ) ;
void operator += ( Mare& ) ;
void write ( void ) ;
};
Mare :: Mare ( int X ) {
this -> resize ( 1000 ) ;
for ( A[0] = 0; X ; X /= 10)
A[++A[0]] = X % 10;
}
void Mare :: operator += ( Mare &B ) {
int i, t = 0;
for (i = 1; i <= A[0] || i <= B[0] || t; i++, t /= 10) {
t += ( i <= A[0] ? A[i] : 0 ) + ( i <= B[0] ? B[i] : 0 ) ;
A[i] = ( t ) % 10;
}
A[0] = i - 1;
}
void Mare :: write ( void ) {
for ( int i = A[0]; i ; --i ) {
printf ( "%d", A[i] ) ;
}
}
int main ( void ) {
Mare a = ( 15 ) , b ( 21 ) ;
a += b ;
a.write () ;
return 0 ;
}