Cod sursa(job #261381)

Utilizator AndreiDDiaconeasa Andrei AndreiD Data 18 februarie 2009 10:12:36
Problema A+B Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <stdio.h>
#include <string.h>

#define Baza 10
#define Nmax 300

int a[Nmax],b[Nmax],l;

void read_data(int a[])
{
    char s[Nmax];
    int i;
    gets(s);
    l=strlen(s);
    for (i=l-1;i>=0;--i)
          a[++a[0]]=s[i]-'0';
}
      

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


void write_data(int a[])
{
    int i;
    for (i=a[0];i>0;--i)
          printf("%d", a[i]);
}


int main()
{
    freopen("adunare.in","r",stdin);
    freopen("adunare.out","w",stdout);
    
    read_data(a);
    read_data(b);
    
    add(a,b);
    
    write_data(a);
    
    return 0;
}