Cod sursa(job #1008708)

Utilizator Athena99Anghel Anca Athena99 Data 11 octombrie 2013 17:56:40
Problema A+B Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <fstream>
#include <cstring>

using namespace std;

ifstream fin("adunare.in");
ofstream fout("adunare.out");

const int cmax= 10; 

int a[cmax], b[cmax];

char c[cmax];

int main (  )
{
    fin>>c;

    a[0]= strlen(c);
    for ( int i= a[0]-1; i>=0; --i ) {
        a[a[0]-i]= c[i]-'0';
    }

    fin>>c;
    b[0]= strlen(c);
    for ( int i= b[0]-1; i>=0; --i ) {
        b[b[0]-i]= c[i]-'0';
    }

    int r1= 0, r2= 0;

    for ( int i= 1; i<=max(a[0], b[0])+1; ++i ) {
        printf("r1= %d a[i]= %d b[i]= %d a[i] modif= %d r2= %d\n", r1, a[i], b[i], (a[i]+b[i]+r2)%10, r2);
        r1= (a[i]+b[i])/10;
        a[i]= (a[i]+b[i]+r2)%10; 
        r2= r1;
    }
    
    if ( a[max(a[0], b[0])+1] ) {
        fout<<a[max(a[0], b[0])+1];
    }

    for ( int i= max(a[0],b[0]); i; --i ) {
        fout<<a[i];
    }

    fout<<"\n";

    return 0;
}