Pagini recente » Cod sursa (job #513172) | Cod sursa (job #2600823) | Cod sursa (job #1939266) | Cod sursa (job #2376834) | Cod sursa (job #523138)
Cod sursa(job #523138)
#include <stdio.h>
#include <string.h>
FILE *f=fopen("adunare.in","r");
FILE *g=fopen("adunare.out","w");
char a[101],b[101],c[102];
int main(void){
register int i,j;
register char ch;
i=0;
register unsigned long long x;
fscanf(f,"%s",a+1);
a[0] = strlen(a+1);
for (i=1;i<=a[0]/2;i++) {
char aux = a[i];
a[i] = a[a[0]-i+1];
a[a[0]-i+1] = aux;
a[i]-='0';a[a[0]-i+1]-='0';
}
if (a[0] %2 == 1)
a[a[0]/2+1]-='0';
fscanf(f,"%s",b+1);
b[0] = strlen(b+1);
for (i=1;i<=b[0]/2;i++) {
char aux = b[i];
b[i] = b[b[0]-i+1];
b[b[0]-i+1] = aux;
b[i]-='0';b[b[0]-i+1]-='0';
}
if (b[0] %2 == 1)
b[b[0]/2+1]-='0';
register int max=(a[0]<b[0]?a[0]:b[0]),t;
for(i=1,t=0;i<=max;i++){
c[i]=(a[i]+b[i]+t)%10;
t=(a[i]+b[i]+t)/10;
}
c[0]=max;
if(t!=0){
c[++c[0]]=t;
}
for(i=c[0];i>=1;i--)
fprintf(g,"%d",c[i]);
return 0;
}