Отримання знань
дистанційна підтримка освіти школярів
Тут ви можете виконати завдання чи задати питання по змiсту цього уроку.
Михальов Володимир (StarRover) 2013-11-17 19:35:04
{SumLong} Const MaxDig=1000; Osn=10000; Type Tlong=array[0..MaxDig] of integer; var a,b,c:Tlong; procedure ReadLong(var A:Tlong); var ch:char; i,k:integer; begin FillChar(A,SizeOf(A),0); Read(ch); While Not(ch in ['0'..'9']) do Read(ch); While ch in ['0'..'9'] do begin for i:=A[0] downto 1 do begin A[i+1]:=A[i+1]+LongInt(A[i]*10) Div Osn; A[i]:=LongInt(A[i]*10) Mod Osn; end; A[1]:=A[1]+Ord(ch)-Ord('0'); if A[A[0]+1]>0 then Inc(A[0]); Read(ch); end; end; procedure WriteLong(Const A:Tlong); var ls,s:string; i:integer; begin Str(Osn Div 10, Ls); Write(A[A[0]]); for i:=A[0]-1 downto 1 do begin Str(A[i],s); while Length(s) end; WriteLn; end; procedure SumLongTwo(A,B:Tlong; var c:Tlong); var i,k:integer; begin FillChar(C,SizeOf(C),0); if A[0]>B[0] then k:=A[0] else k:=B[0]; for i:=1 to k do begin C[i+1]:=(C[i]+B[i]+A[i]) div Osn; C[i]:=(C[i]+B[i]+A[i]) mod Osn; end; if C[k+1]=0 then C[0]:=k else C[0]:=k+1; end; begin Assign(Input,'input.txt'); Reset(Input); ReadLong(a); ReadLong(b); Close(Input); SumLongTwo(a,b,c); Assign(Output,'output.txt'); Rewrite(Output); WriteLong(c); Close(Output); end. |
Михальов Володимир (StarRover) 2013-11-17 19:39:31
Помилка в стрічці procedure SumLongTwo(A,B:Nlong; var c:Tlong); Потрібно: procedure SumLongTwo(A,B:Tlong; var c:Tlong); |
В системі:
гості - (1); користувачі -
(0)