Предмет: Информатика,
автор: milo3
Pascal
Напишите программу, которая сортирует первую половину массива по возрастанию, а вторую – по убыванию. При этом элементы из первой половины не должны перемещаться во вторую и наоборот.
Входные данные
Первая строка содержит размер массива N . Во второй строке через пробел задаются N чисел – элементы массива. Гарантируется, что 0 < N ≤ 10000 и N – чётное число.
Выходные данные
Программа должна вывести в одной строке элементы все массива, отсортированного нужным образом, разделив их пробелами.
Примеры
входные данные
6
3 2 1 4 5 6
выходные данные
1 2 3 6 5 4
Нельзя использовать тип Boolean
Ответы
Автор ответа:
3
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
Внимание! Если программа не работает, обновите версию!
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
Похожие вопросы
Предмет: Математика,
автор: katyasoboleva1940
Предмет: Алгебра,
автор: Viktor663637
Предмет: Українська мова,
автор: nadiadidicka
Предмет: Математика,
автор: катя2178
Предмет: Математика,
автор: timofeevadarya