2.2 Указатели и ссылки

2.2.4 Функция «Переворот массива»

Условие

Дан массив из N целых чисел. Реализуйте функцию void reverse_array(int array[], int size), которая располагает элементы переданного массива в обратном порядке. Изменяйте исходный массив, обменивая его элементы; создавать второй массив для хранения результата запрещено. Размер массива после переворота не меняется.

Функция не должна выполнять ввод или вывод. В функции main прочитайте массив, вызовите reverse_array и выведите изменённый массив. Для обмена элементов можно использовать функцию swap_values из задачи 2.2.1. Использование готовых функций переворота, включая std::reverse, запрещено.

Дополнительно, по желанию, выделите ввод и вывод в отдельные функции void read_array(int array[], int size) и void print_array(const int array[], int size). Количество элементов прочитайте в main до вызова read_array.

Ограничения

Время: 2 секунды. Память: 64 МиБ. Вывод: до 2 МиБ. Стандарты: C11 / C++17.

Входные данные

В первой строке вводится целое число N — количество элементов массива. Во второй строке вводятся N целых чисел, разделённых пробелами. Ограничения: 1 ≤ N ≤ 100, −2³⁰ ≤ aᵢ ≤ 2³⁰.

Выходные данные

Выведите N элементов массива в обратном порядке в одной строке через пробел.

Примеры

Вход 1
5
4 6 9 2 1
Ожидаемый выход
1 2 9 6 4
Вход 2
4
1 2 3 4
Ожидаемый выход
4 3 2 1
Вход 3
1
7
Ожидаемый выход
7

Пробный запуск

Код берётся из редактора. Запуск не создаёт посылку и не влияет на баллы.

Выберите пример или введите свои данные и нажмите «Запустить».

Текущая попытка

Отправьте решение. Этапы и результат появятся здесь автоматически.

Все попытки

Войдите, чтобы видеть свои попытки.

Редактор

Один файл до 64 КиБ · Tab / Shift+Tab — отступ · Esc — выход из редактора · черновик сохраняется для этого аккаунта, задачи и языка.