Есть код:
int g[500][500], n;
cin >> n;
for(int i=0; i<n; i++)
for(int j=0; j<n; j++)
cin >> g[i][j];
Как мне заменить статический массив вектором?
Т.е. vector <vector <int>> g(n);
Как осуществить ввод данных из клавиатуры в вектор (двумерный)?
P.S.Это для графов.
Вместо int g[500][500] -
vector<vector<int>> g(500,vector<int>(500));
Но лучше так:
int main()
{
int n;
cin >> n;
vector<vector<int>> g(n,vector<int>(n));
...
}
cin >> n;
vector <vector <int>> g(n, vector<int>(n));
А дальше без изменений.
// А просто так, например:
vector < int > g;
int i, j, n, x;
cin >> n;
for(int i=0; i<n; i++) {
for(int j=0; j<n; j++) {
cin >> x;
g.push_back(x);
}
}
Сборка персонального компьютера от Artline: умный выбор для современных пользователей