Используя любой метод сортировки, отсортируйте все элементы массива, расположенные на четных местах, по убыванию. Остальные элементы оставьте без изменения. Считайте, что нумерация элементов массива начинается с 1. (на языке программирования Pascal)

Ответы

Ответ дал: Аноним
0
// PascalABC.NET 3.2, сборка 1437 от 03.05.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=ArrRandom(ReadInteger('n='),-50,50); a.Println;
  var t:=a.Partition((x,i)->i.IsEven);
  var s:=t[0].Interleave(t[1].OrderByDescending(x->x));
  if a.Length.IsOdd then a:=s.ToArray+Arr(a.Last)
  else a:=s.ToArray;
  a.Println
end.

Примеры
n= 14
42 -8 41 -26 -28 -44 -27 -24 13 -20 16 19 37 -26
42 19 41 -8 -28 -20 -27 -24 13 -26 16 -26 37 -44

n= 15
-21 41 32 8 -23 23 23 9 35 45 -42 37 -11 -8 22
-21 45 32 41 -23 37 23 23 35 9 -42 8 -11 -8 22
Ответ дал: Аноним
0
Все же написал...вдруг подойдет кому-то
Ответ дал: Аноним
0
А по-школьному - берется обычная пузырьковая сортировка и циклы for заменяются на while, чтобы идти от 2 с шагом 2. И все....
Ответ дал: awiseman00
0
спасибо
Ответ дал: Аноним
0
Пожалуйста
Вас заинтересует