Pagini recente » Cod sursa (job #2275448) | Monitorul de evaluare | Statistici tiramisu (bravo_tiramisu) | Cod sursa (job #726072) | Cod sursa (job #213066)
Cod sursa(job #213066)
#include <cstdio>
#include <cstdlib>
#include <iostream.h>
#include <cstring>
int x;
char a[100], i, b[100], aux;
inline char max(char a, char b) {
if (a>b)
return a;
else
return b;
}
void aduna(char a[], char b[]) {
int i;
a[0]=max(a[0],b[0]);
for (i=1; i<=a[0]; i++)
a[i]+=b[i];
for (i=1;i<=a[0];i++) {
a[i+1]+=a[i]/10;
a[i]=a[i]%10;
}
if (a[a[0]+1]>0)
a[0]++;
}
int main() {
freopen("adunare.in","r",stdin);
freopen("adunare.out","w",stdout);
scanf("%s %s", a+1, b+1);
//cin>>a+1>>b+1;
a[0]=strlen(a+1);
b[0]=strlen(b+1);
// cout<<(int) a[0]<<"\n";
for (i=1;i<=a[0];i++)
a[i]-=48;
for (i=1;i<=b[0];i++)
b[i]-=48;
for (i=1;i<=a[0]/2;i++) {
aux=a[i];
a[i]=a[a[0]-i+1];
a[a[0]-i+1]=aux;
}
for (i=1;i<=b[0]/2;i++) {
aux=b[i];
b[i]=b[b[0]-i+1];
b[b[0]-i+1]=aux;
}
aduna(a,b);
for (i=a[0];i>=1;i--)
printf("%d",a[i]);
// system("PAUSE");
return 0;
}