Около месяца изучаю 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;
}
}
}
}