我正在尝试建立一个像扫描程序从stdin中读取程序的扫雷程序.输入在表单中
4 4
..*.
*...
....
**..
Run Code Online (Sandbox Code Playgroud)
我已经定义vector< vector<char> > mine_field并将其调整为该字段的尺寸.我设想在这样的时间读取输入中的一行(当然这只是第一行)
cin >> mine_field[0];
Run Code Online (Sandbox Code Playgroud)
但是,这不起作用.最好的方法是什么?
编辑:我也考虑过循环并将值存储在每个索引中,但是这不会尝试将整个string放在每个索引中只有空间char吗?
首先,您需要将矢量调整到限制(rowSize,colSize).
vector<vector<char> > mine_field (rowSize, vector<char> (colSize));
Run Code Online (Sandbox Code Playgroud)
类似地,您可以使用相同的声明初始化所有位置.
vector<vector<char> > mine_field (rowSize, vector<char> (colSize, 'a'));
Run Code Online (Sandbox Code Playgroud)
mine_field向量中的所有位置都将使用char进行初始化a.
要阅读cin,只需正常阅读:
for (int i = 0; i < rowSize; i++){
for (int j = 0; j < colSize; j++){
cin >> mine_field[i][j];
}
}`
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1412 次 |
| 最近记录: |