Ask Question

Name:
Title:
Your Question:

Answer Question

Name:
Your Answer:
User Submitted Source Code!


Description:
  3
Language: PASCAL
Code:
program ShellSorting;
uses crt;
type massiv=array[1..100] of integer;
var i, j, n, d, count: integer;
A: massiv;
procedure Shell(A: massiv; n: integer); {сортировка Шелла}
begin
d:=n;
d:=d div 2;
while (d>0) do
begin
for i:=1 to n-d do
begin
j:=i;
while ((j>0) and (A[j]>A[j+d])) do
begin
count:=A[j];
A[j]:=A[j+d];
A[j+d]:=count;
j:=j-1;
end;
end;
d:=d div 2;
end;
writeln;
for i:=1 to n do write(' ', A[i]); {вывод массива}
end;
{основной блок программы}
begin
write('Размер массива > '); read(n);
for i:=1 to n do {ввод массива}
begin write(i, ' элемент > '); readln(A[i]); end;
write('Результирующий массив: ');
Shell(A, n);
end.
          
Comments: