C ++中的多维数组到棋盘

时间:2014-11-14 19:50:35

标签: c++ arrays

所以我有一个包含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

这样整理。

1 个答案:

答案 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:将其转换为处理任何(正)尺寸的棋盘的功能相当容易。