Вопрос задан 19.06.2026 в 19:21. Предмет Информатика. Спрашивает Маркина Елизавета.

Напишите программу, которая сортирует по возрастанию первую половину массива и по убыванию вторую половину массива. Каждый элемент должен остаться в «своей» половине. Массив содержит четное количество элементов. Язык C++.

Перейти к ответам

Ответы на вопрос

Отвечает Горбатов Анатолий.

C++
#include 
#include
using namespace std;

int main() {
int n;
cin >> n;

int a[1000];

for (int i = 0; i < n; i++) {
cin >> a[i];
}

int half = n / 2;

// Сортируем первую половину по возрастанию
sort(a, a + half);

// Сортируем вторую половину по убыванию
sort(a + half, a + n, greater<int>());

for (int i = 0; i < n; i++) {
cout << a[i] << " ";
}

return 0;
}

Пример работы:

Ввод:

C++
8
5 2 9 1 4 7 3 6

Первая половина массива:

C++
5 2 9 1

После сортировки по возрастанию:

C++
1 2 5 9

Вторая половина массива:

C++
4 7 3 6

После сортировки по убыванию:

C++
7 6 4 3

Вывод:

C++
1 2 5 9 7 6 4 3

Каждый элемент сортируется только внутри своей половины массива: элементы из первой половины не переходят во вторую, а элементы из второй половины не переходят в первую.

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос