Для создания динамического массива до первого отрицательного числа в C++, вам потребуется использовать оператор new для выделения памяти под массив и цикл для заполнения элементов.
Ниже приведен пример кода, который выполняет данную задачу:
#include <iostream> int main() { int maxSize = 10; // Максимальный размер массива int* arr = new int[maxSize]; // Выделение памяти под массив int size = 0; // Текущий размер массива int num; do { std::cout << "Введите число: "; std::cin >> num; if (num >= 0) { arr[size] = num; size++; } } while (num >= 0 && size < maxSize); // Вывод элементов массива std::cout << "Элементы массива: "; for (int i = 0; i < size; i++) { std::cout << arr[i] << " "; } delete[] arr; // Освобождение памяти return 0; }
В этом коде, сначала мы объявляем переменную maxSize
, которая определяет максимальный размер массива. Затем мы используем оператор new
для выделения памяти под массив arr
типа int
размером maxSize
.
Мы также создаем переменную size
, которая будет отслеживать текущий размер массива. Затем мы вводим числа с помощью цикла do-while
и, если число больше или равно нулю, мы записываем его в массив и увеличиваем значение size
.
Цикл продолжается, пока вводимые числа больше или равны нулю и размер массива меньше maxSize
. При вводе первого отрицательного числа или при достижении максимального размера массива цикл прерывается.
После этого мы выводим элементы массива с помощью цикла for
и освобождаем выделенную память с помощью оператора delete[]
.
Таким образом, этот код позволяет создать динамический массив до первого отрицательного числа и выводит его элементы на экран.