代码实现 输入输出一个二维数组
正确用法
#include <vector>
#include <iostream>
using namespace std;
int main(){
int value = 0;
int row = 0, column = 0;
cin >> row >> column;
vector<vector<int>> vv;
vector<int> v;
for(int i = 0; i < row; ++i){
for(int j = 0;j < column; ++j){
cin >> value;
v.push_back(value);
}
vv.push_back(v);
v.clear();
}
for(auto it : vv)
for(auto iter : it)
cout << iter;
}
错误用法
#include <vector>
#include <iostream>
using namespace std;
int main(){
int value = 0;
//int row = 0, column = 0;
//cin >> row >> column;
vector<vector<int>> vv;
vector<int> v;
//for循环这样写是错误的,因为这时候vector只是被定义,没有初始化,没有分配空间,空间为0
for(int i = 0; i < vv.size(); ++i){ //vv.size()获取数组行数
for(int j = 0;j < vv[0].size(); ++j){ //vv[0].size()获取列数
cin >> value;
v.push_back(value);
}
vv.push_back(v);
v.clear();
}
for(auto it : vv)
for(auto iter : it)
cout << iter;
}