program Shaker_Pretrasani; uses CRT; const N = 10; type Pole = array[1..N] of integer; var i:integer; A:Pole; procedure Swap(var X, Y : integer); var Temp : integer; begin Temp := X; X := Y; Y := Temp; end; procedure ShakerSort(var X : Pole; N : integer); var L,R,K,J : integer; begin L := 2; R := N; K := N; repeat for J := R downto L do if (X[J] < X[J - 1]) then begin Swap(X[J], X[J - 1]); K := J end; L := K + 1; for J := L to R do if (X[J] < X[J - 1]) then begin Swap(X[J], X[J - 1]); K := J; end; R := K - 1; until L >= R end; begin { zacatek tela programu} clrscr; writeln(' Zadej netridena cisla:'); for i:=1 to N do begin write(' pole[',i,']= '); read(A[i]); end; ShakerSort(A, N ); writeln; writeln(' Setrideno:'); for i:=1 to N do write(' ',A[i]:5); repeat until keypressed; end.