X-Git-Url: http://svarog.pmf.uns.ac.rs/gitweb/?p=spa2-teorijske-vezbe.git;a=blobdiff_plain;f=Cas07%2FMAXZBIR.MOD;fp=Cas07%2FMAXZBIR.MOD;h=0000000000000000000000000000000000000000;hp=85e8209fe94625e52030316656ad822bda16c173;hb=8a74ce20c68b61b8992a348e34c43671116e9549;hpb=a35f3e51789ace81cea01e548963568da918635f diff --git a/Cas07/MAXZBIR.MOD b/Cas07/MAXZBIR.MOD deleted file mode 100644 index 85e8209..0000000 --- a/Cas07/MAXZBIR.MOD +++ /dev/null @@ -1,100 +0,0 @@ -MODULE MaxZbir; - - FROM IO IMPORT - WrStr, WrLn, WrCard, WrInt, RdCard, RdInt; - - CONST - Max = 100; - - VAR - A, B: ARRAY [1 .. Max], [1 .. Max] OF INTEGER; - m, n: CARDINAL; - (* B[vr, ko] je vrednost optimalnog resenja od (1, 1) do (vr, ko) *) - - PROCEDURE Unos; - VAR - i, j: CARDINAL; - BEGIN - WrStr('Unesite n: '); - n:= RdCard(); - WrStr('Unesite m: '); - m:= RdCard(); - IF (n < Max) AND (m < Max) THEN - FOR i:= 1 TO m DO - FOR j:= 1 TO n DO - WrStr('A['); - WrCard(i, 1); - WrStr(', '); - WrCard(j, 1); - WrStr('] = '); - A[i, j] := RdInt(); - END; - END; - END; - END Unos; - - PROCEDURE Resi; - VAR - i, j: CARDINAL; - BEGIN - B[1, 1]:= A[1, 1]; - FOR j:= 2 TO n DO - B[1, j]:= A[1, j] + B[1, j-1]; - END; - FOR i:= 2 TO m DO - B[i, 1]:= A[i, 1] + B[i-1, 1]; - END; - FOR i:= 2 TO m DO - FOR j:= 2 TO n DO - IF B[i, j - 1] < B[i - 1, j] THEN - B[i, j]:= A[i, j] + B[i - 1, j]; - ELSE - B[i, j]:= A[i, j] + B[i, j - 1]; - END; - END; - END; - END Resi; - - PROCEDURE Ispis(Vr, Ko: CARDINAL); - VAR - i: CARDINAL; - BEGIN - IF (Vr > 1) AND (Ko > 1) THEN - IF B[Vr - 1, Ko] > B[Vr, Ko - 1] THEN - Ispis(Vr - 1, Ko); - ELSE - Ispis(Vr, Ko - 1); - END; - WrStr('('); - WrCard(Vr, 1); - WrStr(', '); - WrCard(Ko, 1); - WrStr(')'); - ELSIF Vr = 1 THEN - FOR i:= 1 TO Ko DO - WrStr('(1, '); - WrCard(i, 1); - WrStr(')'); - END; - ELSE - FOR i:= 1 TO Vr DO - WrStr('('); - WrCard(i, 1); - WrStr(', 1)'); - END; - END; - END Ispis; - -BEGIN - Unos; - IF (n < Max) AND (m < Max) THEN - Resi; - WrStr('Maksimalni zbir je '); - WrInt(B[m, n], 1); - WrStr(' a postize se ovako:'); - WrLn; - Ispis(m, n) - ELSE - WrStr('Suvise velika matrica.') - END -END MaxZbir.