Cod sursa(job #236615)

Utilizator tommyishere4meH.Florin tommyishere4me Data 28 decembrie 2008 00:07:35
Problema A+B Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include<fstream.h>
#include<string.h>
#define dmax 1000
ifstream f("adunare.in"); ofstream g("adunare.out");
char s[dmax+1];
int a[dmax+1],b[dmax+1],c[2*dmax+1];
void cit()
{int i;
 f>>s; a[0]=strlen(s);
 for(i=1;i<=a[0];i++) a[i]=s[a[0]-i]-'0';
 f>>s; b[0]=strlen(s);
 for(i=1;i<=b[0];i++) b[i]=s[b[0]-i]-'0';
 f.close();
}
void suma(int x[], int y[], int z[])
{int i,h,r=0,max;
 if(x[0]<y[0]) {max=y[0]; for(i=x[0]+1;i<=max;i++) x[i]=0;}
  else {max=x[0]; for(i=y[0]+1;i<=max;i++) y[i]=0;};
 z[0]=max;
 for(i=1;i<=max;i++)
  {h=x[i]+y[i]+r; z[i]=h%10; r=h/10;}
 if(r) z[++z[0]]=r;
}
void afis()
{int i;
 for(i=c[0];i>=1;i--) g<<c[i];
 g<<'\n';
}
int main()
{cit();
 suma(a,b,c); afis();
 g.close();return 0;
}