l oop уменьшает штраф. Ваше использование векторного метода at()
просто неправильно. Вы получаете ошибку времени выполнения, потому что числа, которые вы вводите в вектор, не являются допустимыми индексами в векторе, поэтому вы действительно выходите за пределы. at()
выполняет проверку границ, генерируя исключение std::out_of_range
, если запрошенный индекс < 0
или >= size()
.
Сначала заполните вектор, ЗАТЕМ отобразите его содержимое, например:
int main() {
vector<int> numbers;
for (int num = 5; i >= -4; --i){
numbers.push_back(num);
}
for (size_t i = 0; i < numbers.size(); ++i){
cout << numbers[i] << endl;
}
/* or, in C++11 and later:
for (int num : numbers){
cout << num << endl;
}
*/
}