1 program hory_a_niziny;
2
3 var vyska,nejVyska,Radek,Sloupec:word;
4 more,nizina,hory:word;
5 soubor:text;
6
7 begin
8 more:=0;
9 nizina:=0;
10 hory:=0;
11 nejVyska:=0;
12 assign(soubor,'soubor.txt');
13 reset(soubor);
14 Radek:=1;
15 repeat begin
16 Sloupec:=1;
17 repeat begin
18 read(soubor,vyska);
19 case vyska of
20 0:inc(more);
21 1..10:inc(nizina);
22 else
23 inc(hory);
24 end;
25 if vyska>nejVyska then
26 nejVyska:=vyska;
27 inc(Sloupec);
28 end until eoln(soubor); {funkce eoln vrátí TRUE pokud je ukazatel na konci řádku}
29 inc(Radek);
30 end until eof(soubor); {funkce eof vrátí TRUE pokud je ukazatel na konci souboru}
31 close(soubor);
32 writeln('moře zabírá celkem ',more*100/(more+nizina+hory):4:1,'% povrchu' );
33 writeln('nížina zabírá celkem ',nizina*100/(more+nizina+hory):4:1,'% povrchu' );
34 writeln('hory zabírají celkem ',hory*100/(more+nizina+hory):4:1,'% povrchu' );
35 write('Nejvyšší bod na mapě má výšku ',nejVyska,' a souřadnice');
36
37 {Pro případ, že nejvyšších bodů je více}
38 reset(soubor);
39 Radek:=1;
40 repeat begin
41 Sloupec:=1;
42 repeat begin
43 read(soubor,vyska);
44 if vyska=nejVyska then
45 write(' [',Radek,',',Sloupec,']');
46 inc(Sloupec);
47 end until eoln(soubor); {funkce eoln vrátí TRUE pokud je ukazatel na konci řádku}
48 inc(Radek);
49 end until eof(soubor); {funkce eof vrátí TRUE pokud je ukazatel na konci souboru}
50 writeln;
51 close(soubor);
52 end.