PascalABC.NET(версия 3.3)Нужно поменять сортировку с обменной(на скрин.2)на сортировку
PascalABC.NET(версия 3.3)
Нужно поменять сортировку с обменной(на скрин.2)на сортировку вставками.
Сможете поменять мою или сделать свою.Спасибо.
Ярослава Подрезнова
ничего я не менял,как там было написано с самого начала Pascal так и осталось
Кирилл Воркин
Вполне вероятно что да)
Серега
есть разве ещё какие-то вставки?
Ljuda Siryk
светло,тогда просто простыми вставками
1 ответ
Лала Алексей
// PascalABC.NET 3.3, сборка 1611 от 06.01.2018
// Внимание! Если программка не работает, обновите версию!
procedure SortInsert(a:array of integer);
// сортировка ординарными вставками по убыванию
begin
for var i:=1 to a.Length-1 do
if a[i-1]lt;a[i] then begin
var (t,j):=(a[i],i-1);
while (jgt;=0) and (a[j]lt;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 rowlt;=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
// Внимание! Если программка не работает, обновите версию!
procedure SortInsert(a:array of integer);
// сортировка ординарными вставками по убыванию
begin
for var i:=1 to a.Length-1 do
if a[i-1]lt;a[i] then begin
var (t,j):=(a[i],i-1);
while (jgt;=0) and (a[j]lt;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 rowlt;=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
Анастасия Крючак
для тебя виднее,буду пробовать переделать под себя(если это возможно)
Владислав Катрин
но и показывать учителю программу на непролазных словах тоже глупость,явно же что кто делал иной
Есения Лежебоко
В данный момент вздорно с вами спорить,лучше это время я истрачу на изменение вашего ответа.Ещё раз спасибо
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Игорь 14 лет назад был на 8 лет моложе, чем его
Математика.
Два тела массами m1 и m2 находящие на расстоянии R друг
Физика.
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
Облако тегов