我想要对一个二维数组进行输入,一次输入一行的字符串,要求它们分别对应不同的序号
时间: 2024-09-27 13:08:36 浏览: 33
在C++中,你可以通过循环和逐字符解析来实现这个需求。假设你要创建一个二维整数数组,你可以采用以下步骤:
```cpp
#include <iostream>
#include <sstream> // 需要用到istringstream来解析字符串
using namespace std;
int main() {
const int rows = 3; // 设定你想要的行数
const int cols = 4; // 设定你想要的列数
string line; // 存储一行输入的字符串
vector<vector<int>> array(rows, vector<int>(cols)); // 初始化二维数组
for (int i = 0; i < rows; ++i) { // 循环遍历行
cout << "请输入第" << (i + 1) << "行的元素,以空格分隔:" << endl;
getline(cin, line); // 一次读入一行
stringstream ss(line); // 创建一个istringstream对象来解析字符串
for (int j = 0; j < cols; ++j) { // 遍历列
char next_char; // 临时存储下一个数字字符
if (!(ss >> next_char)) { // 如果无法读取到一个整数
cerr << "无效的输入,跳过当前元素" << endl;
continue;
}
array[i][j] = next_char - '0'; // 将字符转换为整数并存入数组
}
}
// 现在array已填充了用户输入的一行字符串对应一个元素的二维数组
// ...
return 0;
}
```
阅读全文