
Daas
5 год назад
PascalABC.NET(версия 3.3)Нужно изменить сортировку с обменной(на скрин.2)на сортировку вставками.Можете изменить мою или сделать свою.Спасибо.

ОТВЕТЫ

Allen Clement
Oct 24, 2020
procedure SortInsert(a:array of integer);
// сортировка простыми вставками по убыванию
begin
for var i:=1 to a.Length-1 do
if a[i-1]<a[i] then begin
var (t,j):=(a[i],i-1);
while (j>=0) and (a[j]<t) do begin
a[j+1]:=a[j]; j-=1
end;
a[j+1]:=t
end
end;
begin
var (m,n):=ReadInteger2('Количество строк и столбцов в массиве:');
Writeln('*** Исходный массив ***');
var a:=MatrRandom(m,n,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
// приступаем к сортировке четных строк (строк с нечетными индексами)
var row:=1;
while row<=m-1 do begin
var v:=a.Row(row);
SortInsert(v);
a.SetRow(row,v);
row+=2
end;
Writeln('*** Сортированный массив ***'); a.Println(4) // вывод
end.
Количество строк и столбцов в массиве: 5 9
*** Исходный массив ***
-13 -53 35 84 72 44 76 -78 -93
-86 -82 90 -35 -16 55 -99 -24 -63
64 -29 -34 51 89 4 51 37 80
7 19 81 41 34 -49 64 1 -59
51 -80 71 -13 19 9 -90 7 6
------------------------------------
*** Сортированный массив ***
-13 -53 35 84 72 44 76 -78 -93
90 55 -16 -24 -35 -63 -82 -86 -99
64 -29 -34 51 89 4 51 37 80
81 64 41 34 19 7 1 -49 -59
51 -80 71 -13 19 9 -90 7 6
- но и показывать учителю программу на непроходимых словах тоже глупость,очевидно же что кто делал другой
525
Смежные вопросы: