Procedure Suma(Num1, Num2: T_Numero);
Var
i,j,z :integer;
sum, acarreo :integer;
Sol: T_Sol;
max : integer;
Begin
sum := 0;
acarreo := 0;
z := 0;
If Num1.Longitud >= Num2.Longitud then
max := Num1.Longitud
Else max := Num2.Longitud;
for i := max + 1 downto 1 do begin //for
if (i=max+1) AND (acarreo = 1) then begin
Num1.Numero[i] := 0;
Num2.Numero[i] := 0;
end;
sum := Num1.Numero[i]+Num2.Numero[i]+acarreo;
writeln('i ',i, ' sum: ',sum,' acarreo' ,acarreo);
acarreo := 0;
z := z+1;
if sum >= Num1.Base then begin //if
Sol[z] := (sum - Num1.Base);
sum := 0;
acarreo := 1;
end //if
else Sol[z] := sum;
writeln(' VECTOR ES : ',Sol[i]); //Pongo esto para que me muestre
// los datos temporales del array
end; //for
for i:=1 to max+1 do
write(Sol[i],' ');
End;