X-Git-Url: http://svarog.pmf.uns.ac.rs/gitweb/?p=spa2-teorijske-vezbe.git;a=blobdiff_plain;f=Cas06%2FNIZDIN.MOD;fp=Cas06%2FNIZDIN.MOD;h=6156e777048e0b34fc4cdcb9a512da78faf1a53d;hp=0000000000000000000000000000000000000000;hb=cfda726ac9ecd0bd02935512ea0edaee2cd31b57;hpb=db836f4604991e1c22ea67943873944cdfae1345 diff --git a/Cas06/NIZDIN.MOD b/Cas06/NIZDIN.MOD new file mode 100644 index 0000000..6156e77 --- /dev/null +++ b/Cas06/NIZDIN.MOD @@ -0,0 +1,65 @@ +MODULE NizDin; + + FROM IO IMPORT + WrStr, RdInt, WrInt; + + CONST + MaxN = 1000; + + VAR + a, b: ARRAY [0 .. MaxN] OF INTEGER; + (* b[i] je suma elemenata u resenju za *) + (* deo niza 'a' do 'i'-tog elementa *) + n: INTEGER; + + PROCEDURE Unos; + VAR + i: CARDINAL; + BEGIN + WrStr('Unesite N: '); + n:= RdInt(); + FOR i:= 1 TO n DO + WrStr('A['); + WrInt(i, 1); + WrStr('] = '); + a[i]:= RdInt(); + END; + END Unos; + + PROCEDURE Resi; + VAR + i, j, Pom: CARDINAL; + BEGIN + b[0]:= 0; + IF a[1] > 0 THEN + b[1]:= a[1]; + ELSE + b[1]:= 0; + END; + FOR i:= 2 TO n DO + IF b[i - 2] + a[i] > b[i - 1] THEN + b[i]:= b[i - 2] + a[i]; + ELSE + b[i]:= b[i - 1]; + END + END; + END Resi; + + PROCEDURE Ispis(n: CARDINAL); + BEGIN + IF n > 0 THEN + IF b[n] = b[n - 1] THEN + Ispis(n - 1); + ELSE + Ispis(n - 2); + WrInt(a[n], 8); + END; + END; + END Ispis; + +BEGIN + Unos; + Resi; + WrStr('Podniz: '); + Ispis(n); +END NizDin.