Pagini recente » Cod sursa (job #681484) | Cod sursa (job #387318) | Cod sursa (job #1116448) | Cod sursa (job #1622192) | Cod sursa (job #7825)
Cod sursa(job #7825)
#include<fstream.h>
#include<string.h>
int a[20], b[20], suma[21];
char x[20], y[20];
int LgA, LgB, Max;
void citire ()
{
ifstream f("adunare.in");
f.getline (x, 20);
f.getline (y, 20);
LgA=strlen(x);
LgB=strlen(y);
for(int i=1;i<=LgA;i++)
a[i]=x[i-1]-48;
for(i=1;i<=LgB;i++)
b[i]=y[i-1]-48;
f.close ();
}
void adunare ()
{
if(LgA>LgB)
{
Max=LgA;
for(int i=LgB;i>=1;i--)
{
suma[i]+=a[i]+b[i];
if(suma[i]>=10)
{
suma[i]-=10;
suma[i-1]++;
}
}
for(i=LgA-LgB;i>LgB;i--)
{
suma[i]+=a[i];
}
}
else
{
Max=LgB;
for(int i=LgA;i>=1;i--)
{
suma[i]+=a[i]+b[i];
if(suma[i]>=10)
{
suma[i]-=10;
suma[i-1]++;
}
}
for(i=LgB-LgA;i>LgA;i--)
{
suma[i]+=a[i];
}
}
}
void afisare()
{
ofstream g("adunare.out");
if(suma[0])
g<<suma[0];
for(int i=1;i<=Max;i++)
g<<suma[i];
g.close ();
}
void main ()
{
citire ();
adunare ();
afisare ();
}