uses crt;
var s1,s2:string;//числа
a,b,c:array[byte] of byte;//массивы цифр
na,nb,i,t,j,n,p:byte;
k:integer;
begin
clrscr;
write('Vvedite chislo A:');
readln(s1);
write('Vvedite chislo B:');
readln(s2);
na:=length(s1);//длины чисел
nb:=length(s2);
for i:=1 to na do//преобразование в массив цифр
begin
val(s1[i],t,k);
a[i]:=t;
end;
for i:=1 to nb do
begin
val(s2[i],t,k);
b[i]:=t;
end;
if na>nb then//если первое длиннее
begin
n:=na;
for i:=1 to na-nb do
begin
nb:=nb+1;
for j:=nb downto 2 do
b[j]:=b[j-1];
b[1]:=0;//дополняем второе нолями
end;
end
else if nb>na then//то же, если второе длиннее
begin
n:=nb;
for i:=1 to nb-na do
begin
na:=na+1;
for j:=na downto 2 do
a[j]:=a[j-1];
a[1]:=0;
end;
end
else if nb=na then n:=na;//если равны по длине
p:=0;
for i:=n downto 1 do//сложение столбиком
begin
c[i]:=a[i]+b[i]+p;
if (c[i]>9)and(i>1) then
begin
c[i]:=c[i] mod 10;
p:=1;
end
else p:=0;
end;
if c[1]>9 then//если первое значение больше 9
begin
c[1]:=c[1] mod 10;//берем остаток
n:=n+1;//добавляем ячейку
for j:=n downto 2 do//сдвигаем массив вправо
c[j]:=c[j-1];
c[1]:=1;//пишем в начало 1
end;
writeln('Chislo C:');
for i:=1 to n do//вывод, если нужно, преобразовать в строку
write(c[i]);
readln
end.