سلام دوستان
یه برنامه نوشتم که توش مشکل دارم
برنامه ای که دو عدد 20 رقمی رو در پاسکال با هم جمع کنه
همونطور که می دونید در پاسکال بزرگترین بازه رو اعداد longint تشکیل می دن که اونام 10 رقمن.
یه برنامه با کمک آرایه ها نوشتم اما مشکل اینجاست که بیت تک تک رقم ها باید space زد .
اگه بتونیم طوری تعریف کنیم که تمامی ارایه های ورودی تک رقمی هستن مشکل حله.
اینم سورس برنامه:
{Written By SAJJAD RAD}
program gold_digit;
uses crt;
var
a,b,c:array[1..100]of integer;
i,n,temp:integer;
begin
clrscr;
writeln('This Program Is Written By SAJJAD RAD');
writeln('(c) 2009 Radtech Corporation.All Right Reserved.');
writeln;
textcolor(red);
writeln('Guide:');
writeln('For enter numbers seprate the digit by space key!');
textcolor(white);
writeln;
writeln('Enter 20 digit number #1:');
for i:=1 to 20 do
read (a[i]);
readln;
writeln('Enter 20 digit number #2:');
for i:=1 to 20 do
read (b[i]);
readln;
for i:=20 downto 1 do
begin
temp:=0;
temp:=a[i]+b[i];
if i=1 then
begin
c[i]:=temp;
break;
end;
if temp>9 then
begin
n:=temp mod 10;
c[i]:=n;
a[i-1]:=1+a[i-1];
end;
if temp<=9 then
c[i]:=temp;
end;
writeln;
write('Sum of two 20 digit numbers is= ');
for i:=1 to 20 do
write(c[i]);
writeln('Press Any Key To Exit...');
writeln;
readln;
end.
لطفا هر چه زودتر برام جواب پست کنید ممنون