Кепки форум : Астрономия, космос

за военкоматом бомбоубежище можно туда))).
лазарёвке офигенные горки!"красули", кто знает!Отдыхаю там каждый год!ЗА!
Возле 4-й больницы погреб))) одной стороны горка, другой трамплин.
думаю лазаревку будет самый раз, там костерчик спокойствие) никто не мешает!
полне кепки форум согласен Настей!Только чем добираться?
вот вот ))), добираться или такси или своими ножками, только вот погода чет портится.
или вернее уже совсем испортилась.
оО.агрегаты для езды лишние имеются?
вот это точно, тобой согласен, давайте пока снег есть, то по асфальту будем потом, все же выходят гулять даже если сессия.
После смерти Фенечки прошло месяцев, сегодня взяла себе опять кепки форум мопсюлю, милую девочку Тифани))).
Вот пока, что я сделал....но из за сортировки шелла всё перестаёт работать....если убрать две последний процедуры, и вызов shellsort то он спокойно выведет результаты...
{Заголовок и обьявление}uses crt;const size=10;Type arrType = Array[1 .. size] Of Integer;type t1=array [1..size] of longint;var m,z:arrType; i:longint; A:t1;{массив, который сортируем} n: longint;{количество элементов в массиве}{Процедура сортировки "Пирамидальная"}Procedure HeapSort(Var ar: arrType; n: Integer);Var i, Left, Right: integer; x: Integer; Procedure sift; Var i, j: Integer; Begin i := Left; j := 2*i; x := ar[i]; While j <= Right Do Begin If j < Right Then If ar[j] < ar[Succ(j)] Then Inc(j); If x >= ar[j] Then Break; ar[i] := ar[j]; i := j; j := 2 * i End; ar[i] := x End;Var T: Integer;Begin Left := Succ(n div 2); Right := n; While Left > 1 Do Begin Dec(Left); sift End; While Right > 1 Do Begin T := ar[ Left ]; ar[ Left ] := ar[ Right ]; ar[ Right ] := T; Dec(Right); sift EndEnd;{Процедура сортировки "Хоара"}Procedure HoarFirst(Var ar: arrType; n: integer); Procedure sort(m, l: Integer); Var i, j, x, w: Integer; Begin i := m; j := l; x := ar[(m+l) div 2]; Repeat While ar[i] < x Do Inc(i); While ar[j] > x Do Dec(j); If i <= j Then Begin w := ar[i]; ar[i] := ar[j]; ar[j] := w; Inc(i); Dec(j) End Until i > j; If m < j Then Sort(m, j); If i < l Then Sort(i, l) End;Begin sort(1, n)End;{Процедура сортировки "Шелла"}Procedure Insert(step:longint);Var i, j, k, buf:longint;Begin for i:=step to n do begin buf:=A[i];{Запоминаем i-ый элемент} j:=i-step; While (j>0) and (A[j]>buf) do begin {сдвигаем элементы до тех пор, пока не дойдем до конца или не упорядочим в нужной последовательности} A[j+step]:=A[j];{Вставляем j элемент на step элементов вперед} j:=j-step;{Уменьшаем позицию перестановки на step элементов} End;{После всех перестановок ставим на j+step позицию элемент buf, который был на позиции i} A[j+step]:=buf; End;End;{----------------------------------------------------------------------------}{Сортировка Шелла}Procedure ShellSort(Var steps:t1; n:longint);Var p1,p2,p3,i,k:byte;Begin k:=1;p1:=1;p2:=1;p3:=1;{Заполняем массив инкрементов элементами согласно формуле Роберта Седжвика} while 3*steps[k-1]<n do begin if (k mod 2)=0 then steps[k]:=8*p1-6*p2+1 else begin steps[k]:=9*p1-9*p3+1; p2:=p2*2; p3:=p3*2 End; p1:=p1*2; k:=k+1; End; k:=k-1;{После занесения в массив steps инкрементов начинаем сортировку вставками} for i:=k downto 1 do Insert(steps[i])End;{Начало программы}.