Pagini recente » Cod sursa (job #1954383) | Cod sursa (job #1090372) | Cod sursa (job #2051390) | Cod sursa (job #313440) | Cod sursa (job #85621)
Cod sursa(job #85621)
#include <stdio.h>
#include <stdlib.h>
int itoa(int nr,char *vector){
int i=0;
while(nr>0){
vector[i++]=nr%10+48;
nr/=10;
}
vector[i]=0;
return i;
}
int aduna(char *a,int nrc1,char *b,int nrc2,char *c){
int i=0;
char *wL,*wS;
int nrL,nrS;
int t=0;
if(nrc1<=nrc2){
wL=b;nrL=nrc2;
wS=a;nrS=nrc1;
}
else{
wL=a;nrL=nrc1;
wS=b;nrS=nrc2;
}
while(i<nrS){
c[i++]=(*wL+*wS-96+t)%10+48;
t=(*wL+*wS-96+t)/10;
wL++;
wS++;
}
while(i<nrL){
c[i++]=(*wL-48+t)%10+48;
t=(*wL-48+t)/10;
wL++;
}
c[i]=0;
return i;
}
int main(int argc,void** argv){
int nr1,nr2;
int nrc1,nrc2,nrc3;
char a[20],b[20],c[20];
int i;
FILE *f,*g;
f=fopen("adunare.in","r");
g=fopen("adunare.out","w");
fscanf(f,"%d\n%d",&nr1,&nr2);
nrc1=itoa(nr1,a);
nrc2=itoa(nr2,b);
nrc3=aduna(a,nrc1,b,nrc2,c);
for(i=nrc3-1;i>=0;i--)
fputc(c[i],g);
fputc('\n',g);
return 0;
}