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

Cvičení 21

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 vzestupně metodou BUBLE SORT, ve které využijte upravené procedury prohod z 16. cvičení. Na obrazovku vypište prvky pole před a po setřídění.


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

procedure prohod(var x,y: integer);
 var p:integer;
 begin
   if x>y then begin
    p:=y;
    y:=x;
    x:=p;
    zmena:=true;  {indikuje, ze doslo ke zmenam}
   end;
 end;

procedure trid;
  var j:integer;
  begin
   repeat
    zmena:=false;
    for j:=1 to (n-1) do prohod(cisla[j],cisla[j+1]);
   until zmena=false; {bude se opakovat, dokud nebudou zadne zmeny}
  end;

begin
  clrscr;
  randomize;

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

  trid;
  writeln;
  writeln;
  for i:=1 to n do write(cisla[i]:4); {vypis cisel}
  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