Cod sursa(job #1218902)

Utilizator mariusn01Marius Nicoli mariusn01 Data 12 august 2014 20:26:31
Problema A+B Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <fstream>
#include <cstring>

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

char A[30], B[30];
int maxim, i, t, j, aux;

int main() {
    fin>>A+1;
    A[0] = strlen(A+1);
    for (i = 1; i<= A[0]; i++)
        A[i] -= '0';
    for (i=1, j=A[0]; i<j; i++,j--) {
        aux = A[i];
        A[i] = A[j];
        A[j] = aux;
    }
    fin>>B+1;
    B[0] = strlen(B+1);
    for (i = 1; i<= B[0]; i++)
        B[i] -= '0';
    for (i=1, j=B[0]; i<j; i++,j--) {
        aux = B[i];
        B[i] = B[j];
        B[j] = aux;
    }

    maxim = A[0] > B[0] ? A[0] : B[0];

    for (i=1, t = 0;i<=maxim;i++) {
        A[i] = A[i] + B[i] + t;
        t = A[i]/10;
        A[i] %= 10;
    }
    A[0] = maxim;
    if (t) {
        A[++A[0]] = 1;
    }

    for (i=A[0];i>=1;i--)
        fout<<(int)A[i];
    fout<<"\n";
    return 0;
}