program qsort; const rozmiar = 80; type zakres = 1..rozmiar; type tablica = array[zakres] of real; var tab : tablica; procedure generuj(var t : tablica); var i : zakres; begin for i := 1 to rozmiar do t[i]:=(random-0.5)*200 end; { generuj } procedure gen_malejace(var t : tablica); var i : zakres; begin for i := 1 to rozmiar do t[i] := rozmiar-i+1 end; { gen_malejace } procedure drukuj(var t : tablica); var i : zakres; begin for i := 1 to rozmiar do if i mod 8 = 0 then writeln(t[i]:7:3) { formatowanie wydruku } else write(t[i]:7:3,', '); writeln end; { drukuj } procedure qsort(p,k : zakres; var t : tablica); var i,j : zakres; x, pom : real; begin i := p; j := k; x := t[(p+k) div 2]; repeat while t[i] < x do i := i+1; while x < t[j] do j := j-1; if i <= j then begin pom := t[i]; t[i] := t[j]; tab[j] := pom; i := i+1; j := j-1 end until i> j; if p