Cod sursa(job #1782450)

Utilizator qThunderStefan Durlanescu qThunder Data 18 octombrie 2016 09:47:30
Problema A+B Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <fstream>
#include <cstring>
using namespace std;
ifstream fin("adunare.in");
ofstream fout("adunare.out");
char ch[102];
int a[102],i,b[102],c[104];
void citeste(char ch[],int a[]){
    a[0]=strlen(ch);
    for(int i=1;i<=a[0];i++)
    {
        a[i]=ch[a[0]-i]-'0';
    }
}
void adunare(int a[],int b[],int c[])
{
    int s=0;
    c[0]=max(b[0],a[0]);
    for(int i=1;i<=c[0];i++)
    {
        c[i]=(b[i]+a[i]+s)%10;
        s=(b[i]+a[i]+s)/10;
    }
    if(s!=0)
    {
        c[0]++;
        c[c[0]]=s;
    }
}
void afisare(int c[])
{
    for(int i=c[0];i>=1;i--)
        fout<<c[i];
}
int main()
{
    fin>>ch;
    citeste(ch,a);
    fin>>ch;
    citeste(ch,b);
    adunare(a,b,c);
    afisare(c);
    return 0;
}