X-Git-Url: http://svarog.pmf.uns.ac.rs/gitweb/?a=blobdiff_plain;f=kodovi%2Fpolinomi%2FPOLINOML.MOD;h=20e64ea213815df5f7f1f41fb2a0afa7f52da290;hb=fec52bcccb3b364c673c82a87d74ac459e8d3d0d;hp=fb6db76caf3e4709f15a62fc33c18d8299bfb240;hpb=11f623923fc51d8532dbfb89f151180678e97847;p=spa1skripta-public.git diff --git a/kodovi/polinomi/POLINOML.MOD b/kodovi/polinomi/POLINOML.MOD index fb6db76..20e64ea 100644 --- a/kodovi/polinomi/POLINOML.MOD +++ b/kodovi/polinomi/POLINOML.MOD @@ -273,7 +273,7 @@ END MonomPuta; PROCEDURE Puta(p1, p2: Polinom; VAR pr: Polinom); VAR - pomocni: Polinom; + pomocni, brisi: Polinom; BEGIN Anuliraj(pr); IF (p1 <> NIL) AND (p2 <> NIL) THEN @@ -283,7 +283,9 @@ BEGIN MonomPuta(p1, p2, pomocni); REPEAT UbaciMonom(pomocni, pr); + brisi := pomocni; pomocni := pomocni^.veza + DISPOSE(brisi); UNTIL pomocni = NIL; p2 := p2^.veza END @@ -302,7 +304,8 @@ PROCEDURE Kolicnik(p1, p2: Polinom; VAR kol, ost: Polinom; VAR ok: BOOLEAN); novi^.k := - ost^.k / p2^.k; novi^.st := ost^.st - p2^.st; MonomPuta(p2, novi, pomocni); - Saberi(ost, pomocni, ost); + SaberiNa(pomocni, ost); + DisposePolinom(pomocni); novi^.k := - novi^.k; UbaciMonom(novi, kol); DISPOSE(novi); @@ -326,18 +329,19 @@ PROCEDURE PolinomNaN(p: Polinom; n: CARDINAL; VAR rez: Polinom); VAR i: CARDINAL; + pret : Polinom; BEGIN IF n = 0 THEN NEW(rez); rez^.k := 1.0; rez^.st := 0; rez^.veza := NIL; - ELSIF n = 1 THEN - Kopiraj( p, rez ); ELSE - rez := p; + Kopiraj( p, rez ); FOR i := 2 TO n DO - Puta(rez, p, rez) + pret := rez; + Puta(pret, p, rez); + DisposePolinom(pret); END END; END PolinomNaN;