Предмет: Информатика,
автор: OksanaOksi1
Информатика
Гномья сортировка
Сделайте пожалуйста
Даю 30 баллов
Ответы
Автор ответа:
0
uses crt;
type mas=array[1..1000] of integer;
var a:mas;
n,i:integer;
procedure gnomesort(var arr:mas; size : Integer);
var i, j, t : Integer;
begin
i := 2;
j := 3;
while i <= size do
begin
if arr[i-1] <= arr[i] then
begin
i := j;
j := j + 1
end
else
begin
t := arr[i-1];
arr[i-1] := arr[i];
arr[i] := t;
i := i - 1;
if i = 1 then
begin
i := j;
j := j + 1
end
end
end;
end;
begin
write('Размер массива n=');
read(n);
writeln('Исходный массив:');
for i:=1 to n do
read(a[i]);
writeln;
gnomesort(a,n);
writeln('Результат сортировки:');
for i:=1 to n do
write(a[i],' ');
end.
type mas=array[1..1000] of integer;
var a:mas;
n,i:integer;
procedure gnomesort(var arr:mas; size : Integer);
var i, j, t : Integer;
begin
i := 2;
j := 3;
while i <= size do
begin
if arr[i-1] <= arr[i] then
begin
i := j;
j := j + 1
end
else
begin
t := arr[i-1];
arr[i-1] := arr[i];
arr[i] := t;
i := i - 1;
if i = 1 then
begin
i := j;
j := j + 1
end
end
end;
end;
begin
write('Размер массива n=');
read(n);
writeln('Исходный массив:');
for i:=1 to n do
read(a[i]);
writeln;
gnomesort(a,n);
writeln('Результат сортировки:');
for i:=1 to n do
write(a[i],' ');
end.
Похожие вопросы
Предмет: Математика,
автор: rrrrpr75
Предмет: Математика,
автор: TheMadMax969
Предмет: Алгебра,
автор: kamillaadilova405
Предмет: Математика,
автор: natalyashitova93
Предмет: Математика,
автор: antonkoksharov08