【发布时间】:2015-09-19 10:36:54
【问题描述】:
我是 C++ 新手,这是我第一次尝试 3D 矢量。我正在尝试像这样获取可变长度的输入文件:
xxooo##xx
xoxxxoxoo
xxx#oxoo#
oxxxoxoox
xxoooo#xx
xxxo#o###
xxo#o#xxo
x##oxxoox
xxx##oxoo
xoxx#xooo
并将其转换为 3D 字符向量,其中每行是一个 3x3 的框,前三个字符为第一行,接下来的三个字符为第二行,最后三个字符为第三行。例如输入的第一行应该变成这样:
x x o
o o #
# x x
这是我对解决方案的尝试,但我觉得我可能犯了几个错误:
vector<vector<vector<char> > > makeBoard(vector<string> iflines)
{// Function to fill game boards from input strings
vector<vector<vector<char> > > charboard;
for (int i = 0; i != iflines.size(); i++)
{
for (int j = 0; j < 9; j=j+3)
{
charboard[i][j/3][0] = iflines[i][j];
charboard[i][j/3][1] = iflines[i][j+1];
charboard[i][j/3][2] = iflines[i][j+2];
}
}
return charboard;
}
有人可以帮帮我吗?
编辑:根据建议以及我尝试修复的几件事进行编辑。我收到错误:Segmentation fault: 11。当我尝试运行它时。
【问题讨论】:
标签: c++ loops vector multidimensional-array