📅  最后修改于: 2023-12-03 14:57:52.981000             🧑  作者: Mango
在C++中,二维向量可以用vector<vector
可以先输入行数与列数,再逐一输入每个元素。
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int row, col;
cin >> row >> col;
vector<vector<int>> vec(row, vector<int>(col));
for(int i=0; i<row; i++){
for(int j=0; j<col; j++){
cin>>vec[i][j];//逐一输入
}
}
return 0;
}
可以先将每一行输入到一个字符串中,再用stringstream逐一输入元素。
#include <iostream>
#include <vector>
#include <sstream>
using namespace std;
int main()
{
int row, col;
cin >> row >> col;
vector<vector<int>> vec(row, vector<int>(col));
for(int i=0; i<row; i++){
string s;
getline(cin, s);//输入一行
stringstream ss(s);
for(int j=0; j<col; j++){
ss>>vec[i][j];//逐一输入
}
}
return 0;
}
可以将二维向量存储到文件中,然后从文件中读取。
#include <iostream>
#include <vector>
#include <fstream>
using namespace std;
int main()
{
int row, col;
cin >> row >> col;
vector<vector<int>> vec(row, vector<int>(col));
// 存储到文件
ofstream output("data.txt");
for(int i=0; i<row; i++){
for(int j=0; j<col; j++){
output << vec[i][j] << " ";
}
output << endl;
}
output.close();
// 从文件中读取
ifstream input("data.txt");
for(int i=0; i<row; i++){
for(int j=0; j<col; j++){
input >> vec[i][j];
}
}
input.close();
return 0;
}
以上是C++中输入二维向量的实现方法,可以根据实际情况选择合适的方法。