所以我有一个包含5行和2列的多维数组。我现在需要做的是将每个元素输出为棋盘区域。此外,我只需要白色的田野。
#include <iostream>
using namespace std;
int main ()
{
int a[5][2] = {{0,0}, {1,2}, {2,4}, {3,6},{4,8}};
for ( int i = 0; i < 5; i++ )
for ( int j = 0; j < 2; j++ )
{
cout << a[i] << "\n" << a[j] << endl;
}
return 0;
}
我只是用+1增加其中一个循环,以便我逃离黑色字段吗?因为如果是这样的话,我会对哪些元素必须被跳过感到困惑。
预期产出:
1 2 3 4 5 6
7 8 9 1 2
这样整理。
答案 0 :(得分:0)
这是一个相当独特的解决方案(假设第一个方格为白色):
#include <iostream>
using namespace std;
int main ()
{
int a[5][2] = {{0,0}, {1,2}, {2,4}, {3,6},{4,8}};
for ( int i = 0; i < 5; i++ )
{
for ( int j = 0; j < 2; j++ )
{
// Check for white square by checking if the sum of the index is "even"
if((i + j) % 2 == 0)
{
cout << a[i][j] << endl;
}
}
}
return 0;
}
注意:如果第一个方格是黑色的话,更改为案例会相当容易,但我会留下让你弄明白: - )
注意2:将其转换为处理任何(正)尺寸的棋盘的功能相当容易。