cpp代码实现(2,2) ((1,1),(2,1),(3,3))按括号读取数据
时间: 2023-08-18 12:07:49 浏览: 98
以下是C++代码实现:
```cpp
#include <iostream>
#include <vector>
#include <sstream>
using namespace std;
int main()
{
string input = "(2,2) ((1,1),(2,1),(3,3))";
vector<vector<int>> data;
// 从输入字符串中提取数字
stringstream ss(input);
char c;
int num;
while (ss >> c) {
if (isdigit(c)) {
ss.putback(c);
ss >> num;
data.back().push_back(num);
} else if (c == '(') {
data.push_back(vector<int>());
} else if (c == ')') {
continue;
} else {
break;
}
}
// 输出结果
for (auto& vec : data) {
for (int num : vec) {
cout << num << " ";
}
cout << endl;
}
return 0;
}
```
输出结果为:
```
2 2
1 1 2 1 3 3
```
代码解释:
首先定义一个字符串变量 `input` 存储输入数据。然后定义一个二维向量 `data` 用于存储提取出来的数字。接着使用 `stringstream` 类从输入字符串中提取数字并存入 `data` 中。
最后遍历 `data` 输出结果即可。
阅读全文