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

8 Окт 2019 в 22:41
649 +1
0
Ответы
1

Пример решения на языке Pascal:

program SortHalfArray;
var
N, i, j, temp: Integer;
arr: array[1..10000] of Integer;
begin
// Ввод размера массива
readln(N);
// Ввод элементов массива
for i := 1 to N do
read(arr[i]);
// Сортировка первой половины массива по возрастанию
for i := 1 to N div 2 - 1 do
begin
for j := 1 to N div 2 - 1 do
begin
if arr[j] > arr[j+1] then
begin
temp := arr[j];
arr[j] := arr[j+1];
arr[j+1] := temp;
end;
end;
end;
// Сортировка второй половины массива по убыванию
for i := N div 2 to N - 1 do
begin
for j := N div 2 to N - 1 do
begin
if arr[j] < arr[j+1] then
begin
temp := arr[j];
arr[j] := arr[j+1];
arr[j+1] := temp;
end;
end;
end;
// Вывод отсортированного массива
for i := 1 to N do
write(arr[i], ' ');
end.

Программа сначала сортирует первую половину массива по возрастанию, а затем вторую половину массива по убыванию. Результат выводится на экран через пробел.

19 Апр 2024 в 12:57
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир