Условие
Дан массив из 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 элементов массива в обратном порядке в одной строке через пробел.
Примеры
5 4 6 9 2 1
1 2 9 6 4
4 1 2 3 4
4 3 2 1
1 7
7