Cod sursa(job #394969)

Utilizator shinerainBarbu Mada shinerain Data 11 februarie 2010 20:59:28
Problema A+B Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <string.h>
#include <stdio.h>
int v[12],i,j,x,y,s,aux,k;
char a[11],b[11];
int main()
{
	freopen ("adunare.in","r",stdin);
	freopen("adunare.out","w",stdout);
	scanf("%s",&a);
	scanf("%s",&b);
	
	k=strlen(a);
	j=strlen(b);

	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;
	
	
	for(j=i-1;j>=0;j--)
	printf("%d",v[j]);
	
	return 0;
}