Около месяца изучаю C++, несколько дней пытаюсь отладить код. Ошибка, наверное, очевидная для бывалых, всё никак не находится. После ввода 1-го значения при работе программы происходит остановка и сообщение "vector subscript out of range". Подскажите, пожалуйста, где искать ошибку...
#include <iostream>
#include <vector>
using namespace std;
int main()
{
// Инициализация кол-ва отрезков и вектора координат.
int n;
cin >> n;
vector <double> v;
// Формирование вектора "v" из всех координат в порядке ввода.
for (int i = 0; i < 2 * n; i++) {
cin >> v[i];
}
// Формирование возрастающего вектора "w" из всех неравных координат.
bool goo = true;
vector <double> w;
for (int j = 0; goo; j++) {
double per = v[0]; // переменной присваивается 1-е значение вектора v
goo = false; // условие завершения цикла при отсутствии нового элемента
for (int i = 0; i < n; i++) {
double vi = v[i]; // для условия
// инициализация 1-го элемента
if (j == 0) {
if (per > vi) {
per = vi;
}
w[j] = per;
goo = true;
}
// инициализация 1+ элементов
else {
int gop = j - 1; // для задания элемента вектора
if (w[gop] < v[i]) {
if (per > v[i] || per < w[gop]) {
per = v[i];
}
w[j] = per;
goo = true;
}
}
}
}
Вы создаете вектор нулевой длины
vector <double> v;
После чего пытаетесь писать в него - куда?
// Формирование вектора "v" из всех координат в порядке ввода.
for (int i = 0; i < 2 * n; i++) {
cin >> v[i];
}
Или указывайте в конструкторе количество элементов заранее
vector <double> v(2*n);
или пользуйтесь вектором как обычно:
for (int i = 0; i < 2 * n; i++) {
double d;
cin >> d;
v.push_back(d);
}
Естественно, что то же относится и к работе с вектором w
, например...
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Хочу, чтобы выводилось значение переменной aЕсли введенное число больше 5 - вывести 5, иначе 4
В Microsoft Visual Studio есть встроенный дебаггер, который позволяет дизассемблировать выполняемый файл и ходить по строчкам ассемблера пошагово
Есть сайтбар , его выдвижение и задвижение нужно анимировать , но с помощью свойства animation получается только первое (анимация выдвижения)...
Всем привет, не могу полностью реализовать переключение по кликуНужно просто в одном диве убирать класс в другой добавлять и т