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

2.2.2 Добавить в конец

Условие

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

В функции main прочитайте массив и добавляемое значение, вызовите push_back(array, &size, value) и выведите массив, используя обновлённый размер. Функция push_back не должна выполнять ввод или вывод. Использование готовых контейнеров и их операций добавления элементов запрещено.

Опционально, для знакомых со ссылками в C++: реализуйте вариант void push_back(int array[], int &size, int value) и вызовите его как push_back(array, size, value).

Ограничения

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

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

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

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

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

Примеры

Вход 1
3
1 2 3
4
Ожидаемый выход
1 2 3 4
Вход 2
1
-5
0
Ожидаемый выход
-5 0

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

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

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

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

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

Все попытки

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

Редактор

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