Задание создания динамического массива до первого отрицательного числа, как это сделать?

Для создания динамического массива до первого отрицательного числа в 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[].

Таким образом, этот код позволяет создать динамический массив до первого отрицательного числа и выводит его элементы на экран.