Показать сообщение отдельно
  #10  
Старый 24.05.2011, 20:05
k1ng_k0ng k1ng_k0ng вне форума
Прохожий
 
Регистрация: 08.05.2011
Сообщения: 6
Репутация: 10
По умолчанию

Обьясните, ето метод прочесывание? и почему он не работает?)
Код:
procedure tform1.pr(n:integer);
const
t=6;
var
j,i,k,q:integer;
m:1..t;
h:array [1..t] of integer;
f:textfile;
begin
if OpenDialog1.Execute then begin
assignfile(f,opendialog1.FileName);
reset(f);
i:=1;
while not eof(f) do begin
readln(f,a[i]);
i:=i+1;
end;
h[1]:=8; h[2]:=6; h[3]:=4; h[4]:=3; h[5]:=2; h[6]:=1;
for m:=1 to t do
begin k:=h[m]; q:=-k;
if q=0 then q:=-k; q:=q+1; a[q]:=a[i];
while a[i]<a[j] do
begin a[j+k]:=a[j]; j:=j-k;
end;
a[j+k]:=a[i];
end;
stringgrid3.ColCount:=n+1;
for i:=1 to n do
stringgrid3.cells[i-1,0]:=inttostr(a[i]);
end; end;
Ответить с цитированием