Top.Mail.Ru
Ответы

Как создать массив размер которого мы пользователь ведет с клавиатуры? ЯП С++

У меня визуал стидио говорит что переменная (которой мы указываем размер массива) должен быть константой

По дате
По Рейтингу
Аватар пользователя
Новичок

1 Зарезервировать память в стеке под максимальный массив, памятуя, что стек не резиновый, а 2 мегабайта в среде Windows по умолчанию.

const size_t limit = 40000;
int box[limit]; // размер массива 160000 байт

2. Дать пользователю возможность ввести его размер массива:

cout << "Size: ";
size_t size;
cin >> size;

3. Проверить, что пользователь не превысил размер массива. В случае превышения допустимого размера, усечь массив и сообщить об этом пользователю.

if (limit < size) {
size = limit;
cout << "Массив усечён до " << limit << " элементов\n";
}

4. Ввести элементы в массив.

for (size_t i = 0; i < size; ++i) cin >> box[i];

5... работайте, братья)

Аватар пользователя
Искусственный Интеллект

Несколько вариантов.
1. Динамический массив.
2. Массив типа valarray.
3. Вектор.