În fişierul date.

in se gǎsesc douǎ numere mari (care pot avea mai mult de 10 cifre), câte unul
pe o linie. Să se afişeze pe prima linie a fişierului date.out suma celor douǎ numere.
Ex.

date.in
45899200768797
50999867

date.out
45899251768664

var a,b,c:array[1..10000] of byte;
s1,s2:string;
f:text;
i,j,ka,kb,er,k,n,l:integer;
begin
assign (f,'date.txt');
reset (f);
readln (f,s1);
readln (f,s2);
close (f);
ka:=0; kb:=0;
for i:=length(s1) downto 1 do
begin
inc(ka);
val(s1[i],a[ka],er);
end;
for i:=length(s2) downto 1 do
begin
inc(kb);
val(s2[i],b[kb],er);
end;
k:=0;
i:=1;
repeat
if a[i]+b[i]<10 then
begin
inc(k);
c[k]:=a[i]+b[i];
end
else
begin
inc(k);
c[k]:=(a[i]+b[i]) mod 10;
l:=(a[i]+b[i]) div 10;
a[i+1]:=a[i+1]+l;
end;
inc(i);
until (a[i]=0) and (b[i]=0);
for i:=k downto 1 do write (c[i]);
readln;
end.

Sign up to vote on this title
UsefulNot useful