要使用cin
从标准输入读取数据并填充到vector<vector<int>>
二维数组中,你可以按照以下步骤进行:
-
确定行数和列数:首先,你需要知道你想要读取的二维数组的行数和列数。这可以是预先定义的,或者你可以从用户那里获取这些信息。
-
循环读取数据:对于每一行,你需要创建一个新的
vector<int>
,然后读取该行的所有元素,最后将这个vector<int>
添加到你的二维vector
中。
下面是一个示例代码,展示了如何使用cin
读取用户输入的行数和列数,然后根据这些信息填充二维vector
:
#include <iostream>
#include <vector>
using namespace std;
int main() {
int rows, cols;
cout << "Enter the number of rows: ";
cin >> rows;
cout << "Enter the number of columns: ";
cin >> cols;
vector<vector<int>> matrix;
for (int i = 0; i < rows; ++i) {
vector<int> row; // 创建一个新行
cout << "Enter numbers for row " << i + 1 << ": ";
for (int j = 0; j < cols; ++j) {
int num;
cin >> num; // 读取每个元素
row.push_back(num); // 将元素添加到当前行
}
matrix.push_back(row); // 将当前行添加到二维vector中
}
// 打印二维vector的内容
cout << "Matrix:" << endl;
for (const auto &row : matrix) {
for (int num : row) {
cout << num << " ";
}
cout << endl;
}
return 0;
}
这段代码首先询问用户想要创建的二维数组的行数和列数,然后逐行读取数据,每读取一行数据就将其作为一个新的vector<int>
添加到matrix
中。最后,它遍历matrix
并打印出所有的元素。
请注意,这个示例假设用户会按照提示正确输入数据。在实际应用中,你可能需要添加错误检查和处理逻辑来确保程序的健壮性。