0
我是C++新手,這是我第一次嘗試3D矢量。我試圖把可變長度的這樣一個輸入文件:循環幫助:字符串矢量到3D char矢量
xxooo##xx
xoxxxoxoo
xxx#oxoo#
oxxxoxoox
xxoooo#xx
xxxo#o###
xxo#o#xxo
x##oxxoox
xxx##oxoo
xoxx#xooo
,並把它轉換成3D字符向量每一行是與前三個字符是第一行的3×3盒,接下來的三個第二排,最後三排第三排。例如,輸入的第一行應該變成這樣:
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
。當我嘗試運行它。
我使用的載體,因爲輸入文件的大小是可變的,而箱子都是3x3的,我不知道有多少,我需要它來 – Austin
我編輯與推回至變化'='並將'k'改爲'j%3',我得到分段錯誤,所以我認爲我設置了一個問題這一點,但我無法思考 – Austin