Николай Веселуха
Высший разум
(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. Вектор.
Krab BarkИскусственный Интеллект (301030)
3 года назад
Нет статистических массивов ;) Есть статические. Их размер задается в исходном коде программы. В чистом C есть массивы переменной длины (VLA), по синтаксису объвления похожие на статически, которые в C++ по стандарту не входят, хотя как расширение стандарта поддерживаются некоторыми компиляторами, но не Visual C++.