Индекс вектора C++ выходит за пределы диапазона при определенных условиях [закрыто] ⇐ C++
Индекс вектора C++ выходит за пределы диапазона при определенных условиях [закрыто]
Я учусь в школе на уроке C++, и этот код предназначен для поиска минимума в наборе чисел. Требуется первоначальный ввод, чтобы определить, сколько чисел будет в наборе, а затем вводимые данные для каждого из значений. Однако всякий раз, когда исходное значение меньше 8, у меня выдается ошибка: «Индекс вектора вне диапазона». Я не уверен, почему это происходит и почему это происходит только при таких условиях.
std::vector numset; int n = sizeof(numset) / sizeof(numset[0]); интервал мин = INT_MAX; int число; int inputnum = 0; std::cout > нумамт; в то время как (число >= 1) { std::cout > inputnum; numset.push_back(входной номер); --нумамт; } for (int i = 0; i < n; i++) { если (numset < мин) мин = набор чисел [я]; } Это весь код, который я написал, кроме кода cout, который просто печатает минимум.
Я бы использовал массив, но мне хотелось, чтобы размер был гибким, поэтому вместо этого я использую вектор. Единственный раз, когда я использовал вектор, — это сегодня, при выполнении этого задания, так что я, конечно, не самый опытный, и буду признателен за помощь. Я просмотрел переменные и другие статьи по этой проблеме, но ни одна из них не выявила такой же проблемы, как у меня.
Я учусь в школе на уроке C++, и этот код предназначен для поиска минимума в наборе чисел. Требуется первоначальный ввод, чтобы определить, сколько чисел будет в наборе, а затем вводимые данные для каждого из значений. Однако всякий раз, когда исходное значение меньше 8, у меня выдается ошибка: «Индекс вектора вне диапазона». Я не уверен, почему это происходит и почему это происходит только при таких условиях.
std::vector numset; int n = sizeof(numset) / sizeof(numset[0]); интервал мин = INT_MAX; int число; int inputnum = 0; std::cout > нумамт; в то время как (число >= 1) { std::cout > inputnum; numset.push_back(входной номер); --нумамт; } for (int i = 0; i < n; i++) { если (numset < мин) мин = набор чисел [я]; } Это весь код, который я написал, кроме кода cout, который просто печатает минимум.
Я бы использовал массив, но мне хотелось, чтобы размер был гибким, поэтому вместо этого я использую вектор. Единственный раз, когда я использовал вектор, — это сегодня, при выполнении этого задания, так что я, конечно, не самый опытный, и буду признателен за помощь. Я просмотрел переменные и другие статьи по этой проблеме, но ни одна из них не выявила такой же проблемы, как у меня.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
IndexError: индекс списка выходит за пределы диапазона при доступе по ssh [закрыто]
Anonymous » » в форуме Python - 0 Ответы
- 28 Просмотры
-
Последнее сообщение Anonymous
-