Cod sursa(job #394972)

Utilizator shinerainBarbu Mada shinerain Data 11 februarie 2010 21:04:52
Problema A+B Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <string.h>
#include <stdio.h>
int i,j,x,y,s,aux,k;
char a[12],b[12],v[13];
int main()
{
	freopen ("adunare.in","r",stdin);
	freopen("adunare.out","w",stdout);
	scanf("%s",&a);
	scanf("%s",&b);
	
	k=strlen(a);
	j=strlen(b);
	a1=k;
	b1=j;
	x=k-1;
	y=j-1;
	
	while (j!=0 && k!=0)
		{	s=(a[x]-'0')+(b[y]-'0')+aux;
			v[i]=s%10;
			
			if (s>=10)
				aux=1;
			else
				aux=0;
			i++;j--;k--;x--;y--;
		}
		
	while (k!=0)
	{s=a[x]-'0'+aux;
	v[i]=s%10;
	if (s>=10)
		aux=1;
	else
		aux=0;
	i++;k--;x--;}
	
	while (j!=0)
	{s=(b[y]-'0')+10;
	v[i]=s%10;
	if (s>=0)
		aux=1;
	else
		aux=0;
	i++;j--;y--;
	}
	
	if (aux==1)
		v[i]=1;
	
	if (a1==b1)
		for(j=i-1;j>=0;j--)
			printf("%d",v[j]);
	else
		for(j=i;j>=0;j--)
			printf("%d",v[j]);
	return 0;
}