Ну если сортировка на паскале, то держи 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.
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.