Почему все элементы выводтся в столбец. Если мы сначала в i кладем vector. А во вложенном цикле j это int;
int main(){
vector< vector<int>> v;
int n ;
cin >> n;
for(int i = 0; i < n; i++)
for(int j = 0; j < n ; j++)
v.emplace_back(vector<int>()), v[v.size() - 1].emplace_back(j);
for (auto i:v){
for(auto j:i)
cout << j << " ";
cout << "\n";
}
return 0;
}
Вывод при n = 5:
0
1
2
3
4
0
1
2
3
4
0
1
2
3
4
0
1
2
3
4
0
1
2
3
4
Потому что вместо того, чтобы создать n векторов с n значениями, вы создали n х n векторов с одним значением. Поэтому код вывода и показывает n х n векторов с одним элементом.
Перенесите создание внешнего вектора в первый цикл
#include <iostream>
#include <vector>
using namespace std;
int main(){
vector<vector<int>> v;
int n = 2;
for(int i = 0; i < n; i++){
v.emplace_back(vector<int>());
for(int j = 0; j < n ; j++){
v[v.size() - 1].emplace_back(j);
}
}
for (auto i:v){
for(auto j:i)
cout << j << " ";
cout << "\n";
}
return 0;
}
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости