Cod sursa(job #1004993)

Utilizator TarabanDragosTaraban Dragos-Petru TarabanDragos Data 3 octombrie 2013 21:31:32
Problema A+B Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include<cstdio>
#include<cstring>
int v[1001],x[1001],y[1001],m,n,i;
char a[1001],b[1001];
FILE *f,*g;
void suma(int v1[], int v2[], int v3[]){
    int i,t=0,m;
    if(v1[0]>v2[0])
        m=v1[0];
    else
        m=v2[0];
    for(i=1;i<=m;i++){
        v3[i]=(v1[i]+v2[i])%10;
        t=(v1[i]+v2[i])/10;
    }
    v3[0]=m;
    if(t>0){
        v3[0]++;
        v3[v3[0]]=t;
    }
}
int main(){
    f=fopen("adunare.in","r");
    g=fopen("adunare.out","w");
    fscanf(f,"%s\n%s",a+1,b+1);
    m=strlen(a+1);
    n=strlen(b+1);
    for(i=1;i<=m;i++){
        x[m-i+1]=a[i]-'0';
    }
    for(i=1;i<=n;i++){
        y[n-i+1]=b[i]-'0';
    }
    x[0]=m;
    y[0]=n;
    suma(x,y,v);
    for(i=v[0];i>=1;i--){
        fprintf(g,"%d",v[i]);
    }
    fclose(f);
    fclose(g);
    return 0;
}