program quicksort; const n=31; var a: array [1..n] of integer; procedure aswap (i, j: integer); var t : integer; begin t := a[i]; a[i] := a[j]; a[j] := t; end; procedure swap (var a, b: integer); var t : integer; begin t := a; a := b; b := t; end; procedure quick (r, s: integer); var i, k, x: integer; begin i := r; k := s; x := a[(i+k) div 2]; repeat while a[i] < x do i:= i+1; while a[k] > x do k:=k-1; if i<=k then begin aswap (i,k); i:=i+1; k:=k-1; end; until i>k; if r a[i+1]then ok:=false; if not ok then writeln('Chyba'); end; begin fill; print; quick (1, n); print; check; readln; end.