Я изучал векторы и хотел создать вектор векторов с помощью пользовательского ввода. Хотя я нашел способ сделать это, мне интересно, можно ли использовать push_back()
для ввода значений в вектор.
Согласно коду: vec[i][j] = ele;
работает успешно, но vec[i][j].push_back(ele);
не работает .
Я не могу понять, почему это происходит?
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n, q;
cin >> n >> q;
vector<vector <int>> vec(n);
for(int i=0; i<n; i++) {
int k;
cin >> k;
vec[i] = vector<int> (k);
for(int j=0; j<k; j++) {
int ele;
cin >> ele;
// =====================================================
vec[i][j] = ele; // Why does this work
//vec[i][j].push_back(ele); // but this doesn't?
// =====================================================
}
}
int a, b;
for(int i=0; i<q; i++) {
cin >> a >> b;
cout << vec[a][b] << endl;
}
return 0;
}