Cod sursa(job #250095)

Utilizator 7RaduRadu Antohi 7Radu Data 30 ianuarie 2009 09:28:27
Problema A+B Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.15 kb
program Adunare;
var
   s1,s2:string;
   a,b,c:array[0..100] of integer;
   m,n,i,j,k,t:integer;
   fl:text;
   begin
   assign(fl,'adunare.in');
   reset(fl);
   readln(fl,s1);
   readln(fl,s2);
   close(fl);

   for i := 1 to length(s1) do
      a[i] := ord(s1[i])-ord('0');
   for i := 1 to length(s2) do
      b[i] := ord(s2[i])-ord('0');
   m := length(s1);
   n := length(s2);

   if m > n then
      begin
         for i := 1 to n do
            c[m-n+i] := b[i];
         for i := 1 to m-n do
           c[i] := 0;
         for i := 1 to m do
            b[i] := c[i];
      end;
   if m < n then
      begin
         for i := 1 to m do
            c[n-m+i] := a[i];
         for i := 1 to m-n do
            c[i] :=0;
         m := n;
         for i := 1 to n do
            a[i] := c[i];
      end;

   t := 0;
   for i := m downto 1 do
      begin
         k := t;
         c[i] := (a[i]+b[i]+t) mod 10;
         t := (a[i]+b[i]+k) div 10;
      end;
   c[0] := t;
   j := 1;
   if t > 0 then
      j := 0;


  assign(fl,'adunare.out');
  rewrite(fl);
  for i := j to m do
    write(fl,c[i]);
  close(fl);
end.