Cod sursa(job #393493)

Utilizator HoricaNicolaescu Horia Horica Data 9 februarie 2010 15:34:33
Problema A+B Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include<stdio.h>
#include<string.h>
char a[1024],b[1024];
int x[1024];
int n,m,i,aux,k;


int main()
{
	freopen("adunare.in","r",stdin);
	freopen("adunare.out","w",stdout);

	scanf("%s",a+1);a[0]=' ';
	n=strlen(a)-1;

	scanf("%s",b+1);b[0]=' ';
	m=strlen(b)-1;
	for(i=1;i<=n/2;i++)

	{aux=a[i];
	a[i]=a[n-i+1];
	a[n-i+1]=aux;
}
	for(i=1;i<=m/2;i++)
{aux=b[i];
b[i]=b[m-i+1];
b[m-i+1]=aux;
}
if(m<=n)k=n;
else k=m;

for(i=n+1;i<=k;i++)
a[i]='0';
for(i=m+1;i<=k;i++)b[i]='0';
for(i=1;i<=k;i++)
{
if(a[i]+b[i]-'0'-'0'<10) x[i]=x[i]+a[i]+b[i]-'0'-'0';
else if(a[i]+b[i]-'0'-'0'>=10)
{x[i]=x[i]+a[i]+b[i]-'0'-'0';
x[i+1]++;
}
}

if (x[k] == '0') k--;
for(i=k;i>0;i--)
printf("%d",x[i]);
printf("\n");
return 0;
}