Pagini recente » Cod sursa (job #234735) | Cod sursa (job #1252293) | Cod sursa (job #2403062) | Cod sursa (job #2934251) | Cod sursa (job #1511180)
#include <fstream>
#include <string.h>
using namespace std;
ifstream fin("adunare.in");
ofstream fout("adunare.out");
char x[1000];
int a[3][1005],n,i,s[2000];
void citeste(int a[1000])
{
fin.getline(x,' ');
int k=0;
int n=strlen(x);
a[0]=max(n,a[0]);
for(int i=n-1;i>=0;i--)
a[++k]=x[i]-'0';
}
void transport(int s[2000], int i)
{
while(s[i]>9)
{
s[i+1]=s[i+1]+s[i]/10;
s[i]%=10;
if(i+1>s[0])
s[0]++;
i++;
}
}
void aduna(int s[2000],int a[1000])
{
s[0]=max(s[0],a[0]);
for(int i=1;i<=a[0];i++)
{
s[i]+=a[i];
if(s[i]>9)
transport(s,i);
}
}
int main()
{
for(i=1;i<=2;i++)
{
citeste(a[i]);
memset(x,0,strlen(x));
aduna(s,a[i]);
}
for(i=s[0];i>0;i--)
fout<<s[i];
return 0;
}