Pascal напишите программу, которая сортирует первую половину массива по возрастанию, а вторую – по убыванию. при этом элементы из первой половины не должны перемещаться во вторую и наоборот. входные данные первая строка содержит размер массива n . во второй строке через пробел n чисел – элементы массива. гарантируется, что 0 < n ≤ 10000 и n – чётное число. выходные данные программа должна вывести в одной строке элементы все массива, отсортированного нужным образом, разделив их пробелами. примеры входные данные 6 3 2 1 4 5 6 выходные данные 1 2 3 6 5 4 нельзя использовать тип boolean

янис9 янис9    3   25.09.2019 19:20    11

Ответы
GhostUltimate GhostUltimate  04.08.2020 15:59
PascalABC.NET 3.3.5, сборка 1662 от 29.04.2018
Внимание! Если программа не работает, обновите версию!

begin
  var n:=ReadlnInteger;
  var a:=ReadArrInteger(n);
  var k:=n div 2;
  a:=(a[:k].OrderBy(t->t)+a[k:].OrderByDescending(t->t)).ToArray;
  a.Println
end.

Пример
6
3 2 1 4 5 6
1 2 3 6 5 4
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика