type t1=array [1..8000] of longint; Var i: longint; A:t1;{массив, который сортируем} n: longint;{количество элементов в массиве} h,m,s,ds: word;{переменные, нужные для вывода текущего времени} { сортировка Шелла } procedure SortShell(var item: t1; count:integer); const t = 5; var i, j, k, s, m: integer; h: array[1..t] of integer; x: longint; begin h[1]:=9; h[2]:=5; h[3]:=3; h[4]:=2; h[5]:=1; for m := 1 to t do begin k:=h[m]; s:=-k; for i := k+1 to count do begin x := item[i]; j := i-k; if s=0 then begin s := -k; s := s+1; item[s] := x; end; while (x