Cod sursa(job #171267)

Utilizator andy41pislaru andrei andy41 Data 3 aprilie 2008 22:26:34
Problema A+B Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <iostream.h>
#include <fstream.h>
#include <string.h>
fstream f("adunare.in",ios::in);
fstream g("adunare.out", ios::out);
void adunare(char nr1[10], char nr2[10], int i, int j) {
     int t=0; // 0 unitati de adaugat
     for (j;j>=0;j--,i--) {
         nr1[i]=nr1[i]+nr2[j]-48+t;t=0;
         if (nr1[i]>57) {  //dk suma cifrelor > 10
            t=1; 
            nr1[i]-=10;
         }
     }
     if (i==-1&&t==1) //dk a ramas restul neadaugat se tipareste
	g<<1;
     else
	nr1[i]+=t;
	g<<nr1; //tiparirea sumei
}
int main() {
       int i,j;char nr1[10],nr2[10];
       f.get(nr1,10);f.get();f.get(nr2,10);
       i=strlen(nr1)-1;
       j=strlen(nr2)-1;
       if (i>j) //care e nr mai lung
          adunare (nr1,nr2,i,j);
       else 
            adunare (nr2,nr1,j,i);              
       f.close();g.close();
       return 0;
}