我有一个二维数组作为一个网格,可以被认为是一个游戏板。当棋盘初始化后游戏开始时,有四个人。它适用于 nxn
网格。举个例子
x o
o x
我使用二维数组来完成。现在,我尝试将数组转换为一维。我坚持如何将符号放在一维数组的网格上。
for(int i = 0; i < row; ++i)
for(int j = 0; j < col; ++j)
{
//grid[i][j] = '.';
grid[i * col + j] = '.'; // I've converted the part
}
int centerh = row / 2;
int centerw = col / 2;
// I'm stuck that part.
grid[centerh][centerw] = 'o';
grid[centerh - 1][centerw - 1] = 'o';
grid[centerh][centerw - 1] = 'x';
grid[centerh - 1][centerw] = 'x';
最佳答案
这会将您的 2D 网格转换为 1D :
grid1D[row*col];
grid2D[row][col];
for(int i = 0; i < row; ++i)
for(int j = 0; j < col; ++j)
grid1D[i * col + j] = grid2D[i][j];
关于c++ - 从二维数组到一维数组的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34176484/