Cod sursa(job #1011359)

Utilizator TibixbAndrei Tiberiu Tibixb Data 16 octombrie 2013 19:31:34
Problema A+B Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include<cstdio>
#include<fstream>
#include<cstring>
using namespace std;
int lengtha, lengthb, max1, k, transport, i;
char a[100], b[100], aux;
FILE*fin=fopen("adunm.in","r");
ofstream fout("adunm.out");
int main(){
	fscanf(fin,"%s", a+1);
	fscanf(fin,"%s", b+1);
	lengtha=strlen(a+1);
	lengthb=strlen(b+1);
	for(i=1; i<=lengtha/2; i++){
		aux=a[i];
		a[i]=a[lengtha-i+1];
		a[lengtha-i+1]=aux;
	}
	//strrev(b+1);
	for(i=1; i<=lengthb/2; i++){
		aux=b[i];
		b[i]=b[lengthb-i+1];
		b[lengthb-i+1]=aux;
	}


	a[0]=lengtha;
	b[0]=lengthb;
	if(lengtha>lengthb)
		max1=lengtha;
	else
		max1=lengthb;
	k = 1;
	while(k<=max1){
		a[k]-='0';
		b[k]-='0';
		a[k]=a[k]+b[k]+transport;
		transport=a[k]/10;
		a[k]%=10;
		k++;
	}
	if(transport!=0){
		a[++a[0]]=transport;
		max1++;
	}
	for(i=max1; i>=1;i--)
		fout<<(int)a[i];
return 0;
}