předchozí návrat do menu uložit zdrojový kód následující

Cvičení 22

Vytvořte pole o 20 prvcích typu integer, do kterých načtěte náhodné hodnoty od 0 do 100. Pole setřiďte sestupně metodou SELECT SORT. Upravte funkci max z 19. cvičení a využijte ji v řešení. Na obrazovku vypište prvky pole před a po setřídění.


program ukol22;
uses crt;
const n=20;
type pole=array [1..n] of integer;
var  i:integer;
     cisla:pole;
     ukaz:integer;

function max(a,b:integer):integer;
  var p,j:integer;
  begin
   p:=0;
   for j:=a to b do begin  {hleda maximum a jeho index - ukaz}
      if cisla[j]>p then begin
        p:=cisla[j];
        ukaz:=j;
      end;
   end;
   max:=p;
  end;

procedure trid;
  var j,p:integer;
  begin
     for j:=1 to n do begin
      p:=cisla[j];
      cisla[j]:=max(j,n);   {prohodi hodnotu na indexu j}
      cisla[ukaz]:=p;       {s maximem na indexu ukaz}
     end;
  end;

begin
   clrscr;
   randomize;

   for i:=1 to n do begin
     cisla[i]:=random(100);
     write(cisla[i]:4);
   end;

   writeln;
   trid;
   for i:=1 to n do write(cisla[i]:4);

   repeat until keypressed;
end.

Zpět na: Lekce 9


předchozí návrat do menu uložit zdrojový kód následující
Klíčová slova v Pascal