Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

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

Саламат Бактыбеков Ученик (4), закрыт 3 года назад
У меня визуал стидио говорит что переменная (которой мы указываем размер массива) должен быть константой
Лучший ответ
Николай Веселуха Высший разум (384116) 3 года назад
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... работайте, братья)
Остальные ответы
Krab Bark Искусственный Интеллект (301030) 3 года назад
Несколько вариантов.
1. Динамический массив.
2. Массив типа valarray.
3. Вектор.
Саламат БактыбековУченик (4) 3 года назад
не массив самый обыныйй статистический
Саламат БактыбековУченик (4) 3 года назад
до вектор еще дошел
Krab BarkИскусственный Интеллект (301030) 3 года назад
Нет статистических массивов ;) Есть статические. Их размер задается в исходном коде программы. В чистом C есть массивы переменной длины (VLA), по синтаксису объвления похожие на статически, которые в C++ по стандарту не входят, хотя как расширение стандарта поддерживаются некоторыми компиляторами, но не Visual C++.
Krab BarkИскусственный Интеллект (301030) 3 года назад
Объявление динамического массива
int *a=new int[n];
Похожие вопросы