Ошибка исполнения. Проблема с векторами. c++

221
04 мая 2018, 12:37

Я пытаюсь создать вектор состоящий из векторов целых чисел, где в каждом из N элементов, есть три различных элемента. При запуске данного кода выходит следующая ошибка.

Ошибка исполнения, код возврата -1073741819

int main() {
   int N;
   int a, b , c;
   cin >> N;
   vector<vector<int>> v;
   for (int i = 0; i < N; i++) {
      cin >> a >> b >> c;
      v[i][1] = a;
      v[i][2] = b;
      v[i][3] = c;
   }
   return 0;
}
Answer 1

Я бы даже сделал так:

int main() {
   int N;
   cin >> N;
   vector<vector<int>> v(N,vector<int>(4));
   for (int i = 0; i < N; i++) {
       cin >> v[i][1] >> v[i][2] >> v[i][3];
   }
}

Надеюсь, вы помните, что нумерация элементов вектора идет с нуля, и отсутствие у вас присвоения v[i][0] не ошибка, и вы знаете, что делаете...

Answer 2

конечно будет ошибка. Потому что вектора имеют нулевой размер.

И есть два способа исправить

int main() {
 int N;
 int a, b , c;
 cin >> N;
 vector<vector<int>> v;
 v.resize(N);
 for (int i = 0; i < N; i++) {
    cin >> a >> b >> c;
    v[i].resize(3);
    v[i][0] = a;
    v[i][1] = b;
    v[i][2] = c;
 }

 return 0;
}

второй - использовать push_back.

READ ALSO
Взаимодействие с мышкой в 3D игре на С\C++ под Win

Взаимодействие с мышкой в 3D игре на С\C++ под Win

Есть команда на С++ - SetCursorPos(X,Y);, которая позволяет перемещать мышку по экрануТо есть, вводишь определенные координаты и курсор мышки перемещается...

208
Перехват событий клавиатуры в linux системе

Перехват событий клавиатуры в linux системе

Задача состоит в создании прослойки между ядром и пользовательским приложением ( либо какой-либо другой вариант) для перехвата событий клавиатуры...

196
createInvestment из книги Скотта Майерса Правило 18

createInvestment из книги Скотта Майерса Правило 18

Что Майерс хотел сказать следующим кодом

213
Как отличить объект события от DOM объекта? JavaScript

Как отличить объект события от DOM объекта? JavaScript

Всем привет! В метод может придти как dom-объект(не пинайте за терминологию):

237