Cod sursa(job #210816)

Utilizator zanetdoruzanet doru zanetdoru Data 29 septembrie 2008 17:41:00
Problema A+B Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include<fstream.h>
#include<string.h>
#include<stdlib.h>
#include<conio.h>
void main()
{
ifstream f("adunare.in");
char a[25],b[25];
int c[25]={0},d[25]={0},s[26]={0};
f>>a;
f>>b;
f.close();
int n=strlen(a);
for(int i=0;i<n;i++)
   c[i+1]=a[i]-'0';

int m=strlen(b);
for(i=0;i<m;i++)
    d[i+1]=b[i]-'0';

int max;
if(n>m)
    {
     max=n;
     for(i=m;i>=1;i--)
     {
      int aux=d[i];
      d[i]=d[i+n-m];
      d[i+n-m]=aux;
     }
    }

else {
       max=m;
       for(i=n;i>=1;i--)
     {
      int aux=c[i];
      c[i]=c[i+m-n];
      c[i+m-n]=aux;
     }
      }

for(i=max;i>=1;i--)
    {
     s[i+1]=s[i+1]+c[i]+d[i];
     if(s[i+1]>9)
    {
     s[i]=1;
     s[i+1]=s[i+1]%10;
    }
    }

ofstream g("adunare.out");
if(s[1]==0)
     for(i=1;i<=max;i++)
     g<<s[i+1];
else
for(i=1;i<=max+1;i++)
     g<<s[i];
g.close();

}