Выполнить сортировку только четных элементов массива(нечетные элементы остаются ** своих...

0 голосов
116 просмотров

Выполнить сортировку только четных элементов массива(нечетные элементы остаются на своих местах)


Информатика (17 баллов) | 116 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
// PascalABC.NET 3.2, сборка 1385 от 14.02.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=ArrRandom(ReadInteger('n='),10,99); a.Println;
  var b:=a.Where((x,i)->i.IsEven).Interleave(a.Where((x,i)->i.IsOdd).Sorted);
  if a.Count<>b.Count then b:=b+a.Last;
  b.Println
end.

Пример
n= 11
89 78 46 90 11 45 56 94 41 37 77
89 37 46 45 11 78 56 90 41 94 77
(150k баллов)