gitweb on Svarog

projekti pod git sistemom za održavanje verzija -- projects under the git version control system
skripta verzija 14c
[spa1skripta-public.git] / kodovi / MaxNiza4.MOD
1 MODULE MaxNiza4;
2 (* Cetvrto resenje. Najbolje moguce: O(n) *)
3 FROM InOut IMPORT WriteString,
4 WriteInt,WriteCard,WriteLn;
5 FROM FIO IMPORT File, Open, Close, RdInt,EOF;
6 CONST
7 MaxN = 10;
8 TYPE
9 Interval = [1..MaxN];
10 VAR
11 Max, MaxDovde : INTEGER;
12 i,d,Ood,Doo : Interval;
13 X : ARRAY Interval OF INTEGER;
14 f: File;
15 brojOp : CARDINAL;
16 N:CARDINAL;
18 BEGIN
19 WriteString(' Unos niza X ');
20 WriteLn;
21 brojOp := 0;
22 f := Open('br1.txt');
23 N:=0;
24 EOF:=FALSE;
25 WHILE NOT EOF DO
26 INC(N);
27 X[N] := RdInt(f);
28 WriteCard(N,1);
29 WriteString(' - ');
30 WriteInt(X[N],1);
31 WriteLn;
32 END;
33 Close(f);
34 Max := 0;
35 MaxDovde := 0;
36 FOR i := 1 TO N DO
37 IF MaxDovde = 0 THEN
38 d := i
39 END;
40 MaxDovde := MaxDovde + X[i];
41 INC(brojOp);
42 IF MaxDovde < 0 THEN
43 MaxDovde := 0
44 END;
45 IF MaxDovde > Max THEN
46 Ood := d;
47 Doo := i;
48 Max := MaxDovde
49 END
50 END;
51 WriteLn;
52 WriteString(' Maksimum je ');
53 WriteInt(Max,3);
54 WriteString(' u intervalu od ');
55 WriteCard(Ood,3);
56 WriteString(' do ');
57 WriteCard(Doo,3);
58 WriteLn;
59 WriteString('Broj racunskih operacija: ');
60 WriteCard(brojOp,1);
61 WriteLn;
62 END MaxNiza4.
Svarog.pmf.uns.ac.rs/gitweb maintanance Doni Pracner