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