Вопрос задан 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
Каждый элемент сортируется только внутри своей половины массива: элементы из первой половины не переходят во вторую, а элементы из второй половины не переходят в первую.
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili

