Cod sursa(job #117730)

Utilizator DonPushmeMilitaru Adrian DonPushme Data 22 decembrie 2007 10:33:12
Problema A+B Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.49 kb
program adunare;
type vec=array[1..10] of byte;
var f,g:text;
    v1,v2,v3:vec;
    i,code,n1,n2,n3,s:integer;
    a:char;
procedure citire;
begin
     assign(f,'adunare.in');
     reset(f);
     i:=1;
     while not(eoln(f)) do
           begin
           read(f,a);
           val(a,v1[i],code);
           i:=i+1;
           end;
     n1:=i-1;
     readln(f);
     i:=1;
     while not(eof(f)) do
           begin
           read(f,a);
           val(a,v2[i],code);
           i:=i+1;
           end;
     n2:=i-1;
     close(f);
end;
procedure suma;
begin
if n1<=n2 then begin
               n3:=n2;
               for i:=1 to n1 do
                  begin
                  s:=v1[n1-i+1]+v2[n2-i+1];
                  v3[n2-i+1]:=v3[n2-i+1]+(s mod 10);
                  v3[n2-i]:=v3[n2-i]+(s div 10);
                  end;
               for i:=(n2-n1) downto 1 do
                  v3[i]:=v3[i]+v2[i];
               end
          else begin
               n3:=n1;
               for i:=1 to n2 do
                  begin
                  s:=v1[n1-i+1]+v2[n2-i+1];
                  v3[n1-i+1]:=v3[n1-i+1]+(s mod 10);
                  v3[n1-i]:=v3[n1-i]+(s div 10);
                  end;
               for i:=(n1-n2) downto 1 do
                  v3[i]:=v3[i]+v1[i];
               end;

end;
procedure scriere;
begin
assign(g,'adunare.out');
rewrite(g);
for i:=1 to n3 do
         write(g,v3[i]);
close(g);
end;
begin
citire;
suma;
scriere;
end.