For loop 如何遍历多维数组
所以我想打印一个tic-tac趾板,但我真的无法解决如何做到这一点而不会得到疯狂的结果For loop 如何遍历多维数组,for-loop,multidimensional-array,For Loop,Multidimensional Array,所以我想打印一个tic-tac趾板,但我真的无法解决如何做到这一点而不会得到疯狂的结果 #include <iostream> int main() { const int ROWS = 3; const int COLUMNS = 3; char board[ROWS][COLUMNS] = { {'X', 'O', 'X'}, {' ', 'O', 'O'}, {'X', 'X', 'O'} }; for
#include <iostream>
int main()
{
const int ROWS = 3;
const int COLUMNS = 3;
char board[ROWS][COLUMNS] =
{ {'X', 'O', 'X'},
{' ', 'O', 'O'},
{'X', 'X', 'O'} };
for (int i = 0; i < COLUMNS; i++)
{
for (int j = 0; j < ROWS; j++)
{
std::cout << board[0][j];
}
std::cout << "\n";
}
}
您一次又一次只打印第一行,即std::cout似乎您使用了错误的第一个索引,0而不是i!因此,更换您的线路
std::cout << board[0][j];
与
而且效果很好
2003年,我写了一篇关于博弈论的毕业论文,其中最重要的一个例子是tic-tac-toe游戏,我用Visual Basic 97为电脑播放器实现了动画、音频和非丢失策略。你也可以看到我的家庭视频,关于用鬼魂播放器玩井字游戏:
打印输出从不迭代电路板的行。另外,您已经混合了行和列,让外部循环第一个循环在行上迭代,内部循环在列上迭代 改变
for (int i = 0; i < COLUMNS; i++) {
for (int j = 0; j < ROWS; j++) {
std::cout << board[0][j];
}
std::cout << "\n";
}
到
现在一切都有意义了,谢谢你。在循环第一行的整个内部循环中,i显然是零。我认为很难弄清楚是什么控制了元素,是什么控制了“行”,这就是一直困扰我的原因!
for (int i = 0; i < COLUMNS; i++) {
for (int j = 0; j < ROWS; j++) {
std::cout << board[0][j];
}
std::cout << "\n";
}
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLUMNS; j++) {
std::cout << board[i][j];
}
std::cout << "\n";
}