Cod sursa(job #213085)

Utilizator blahblahblahblah blahblah Data 8 octombrie 2008 17:29:38
Problema A+B Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <stdio.h>
#include <string.h>

#define NMAX 110

char s1[NMAX], s2[NMAX];
int a[NMAX], b[NMAX];

void add(int a[], int b[])
{
     int i, t = 0;
     
     for (i = 1; i <= a[0] || i <= b[0] || t; i++, t /= 10)
         a[i] = (t += a[i] + b[i]) % 10;
         
     a[0] = i;
}

int main()
{
    int i;
    
    freopen("adunare.in", "r", stdin);
    freopen("adunare.out", "w", stdout);
    
    scanf("%s %s", s1, s2);
    
    int n1 = strlen(s1), n2 = strlen(s2);
    
    for (i = n1 - 1; i >= 0; i--) a[++a[0]] = s1[i] - '0';
    for (i = n2 - 1; i >= 0; i--) b[++b[0]] = s2[i] - '0';
    
    add(a, b);
    
    for (i = a[0]; i >= 1; i--) printf("%d", a[i]);
    printf("\n");
    
return 0;
}