在C++中,可以使用标准库中的输入流对象来从输入流中读取矩阵。以下是一个示例代码,演示了如何从输入流中读取矩阵:
#include <iostream>
#include <vector>
using namespace std;
vector<vector<int>> readMatrixFromInputStream(istream& input) {
int rows, cols;
input >> rows >> cols; // 读取矩阵的行数和列数
vector<vector<int>> matrix(rows, vector<int>(cols)); // 创建一个二维向量来存储矩阵
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
input >> matrix[i][j]; // 逐个读取矩阵元素
}
}
return matrix;
}
int main() {
// 从标准输入流中读取矩阵
vector<vector<int>> matrix = readMatrixFromInputStream(cin);
// 打印读取到的矩阵
for (const auto& row : matrix) {
for (const auto& element : row) {
cout << element << " ";
}
cout << endl;
}
return 0;
}
上述代码中,readMatrixFromInputStream
函数接受一个输入流对象作为参数,并返回一个二维向量,表示读取到的矩阵。函数首先从输入流中读取矩阵的行数和列数,然后根据行数和列数创建一个二维向量。接下来,使用嵌套的循环逐个读取矩阵元素,并将其存储到二维向量中。最后,将读取到的矩阵返回。
在main
函数中,我们使用标准输入流cin
作为参数调用readMatrixFromInputStream
函数,将从控制台输入的矩阵读取到matrix
变量中。然后,我们遍历matrix
变量,并打印每个元素,以展示成功读取到矩阵的结果。
这是一个简单的示例,展示了如何在C++中从输入流中读取矩阵。在实际应用中,你可能需要根据具体的需求进行适当的修改和扩展。
领取专属 10元无门槛券
手把手带您无忧上云