Informatika gyűjtemény

Egy szinttel feljebb nagy.pas

2004050607080910

NézetNyomtat

nagy.pas (Vissza)
Az alábbi letöltési lehetőségek közül választhatsz: (segítség)
Karakterkódolás:
Sortörés:
Típus: text/plain
Tartalmaz szöveget
Karakterkódolás: us-ascii
Méret: 1 KB
program nagy;

type nagyszam=record jegy:array[0..100] of byte; h:byte; end;

var n,m,o:nagyszam;

procedure init(var n:nagyszam); //ha azt irjuk, hogy var, akkor az igazibol is
var i:byte;                     //atirja n ereteket, nem csak itt...
begin
n.h:=0;
for i:=0 to 100 do n.jegy[i]:=0;
end;

procedure initl(var n:nagyszam; l:longint);
begin
n.h:=0;
while l>0 do begin
inc(n.h);
n.jegy[n.h]:=mod 10;
l:=div 10;
end; end;

procedure inits(var n:nagyszam; s:string);
var liba:integer;
begin
n.h:=0;
while length(s)>0 do begin
inc(n.h);
val(s[length(s)],n.jegy[n.h],liba);
delete(s,length(s),1);
end;

end;

procedure ki(n:nagyszam);
var i:byte;
begin
for i:=n.downto 1 do write(n.jegy[i]); writeln;
end;

function ad(a,b:nagyszam):nagyszam;
var c:nagyszam; i,r:byte;
begin
init(c);
r:=0;
for i:=1 to 100 do begin
c.jegy[i]:=(a.jegy[i]+b.jegy[i]+r) mod 10;
r:=(a.jegy[i]+b.jegy[i]+r) div 10;
if (c.jegy[i]>0) then c.h:=i;
end;
ad:=c;
end;

begin
init(n); inits(n,'137137137137'); init(m); initl(m,864); init(o); o:=ad(m,n);
ki(o);


end.
(Vissza)