C ++将行存储为2D数组的一部分,然后打印一行

时间:2013-11-29 12:27:16

标签: c++ arrays

目标是以5乘5网格打印符号,如果值为1,则打印$(后跟空格);如果值为0,则打印%

每行是一个包含5个整数的数组,所有这些都是0或1.

它表示要初始化第一行或第0行:

int row0[0] = {1,0,0,0,1};

然后它表示将行本身存储在2D数组中:

int twodim[5][5]; 

twodim[0] = {1,0,0,0,1};

以上是令人困惑的,因为我们应该打印整行并传递2个参数,const int row []和size。大小是5.但我不能为我的生活弄清楚如何打印整行,因为没有列传入(我不确定它是否重要或我是否误解了这个概念。基本上我不知道如何在上述情况下访问整行。

任何可能有助于我开始使用的提示?

1 个答案:

答案 0 :(得分:4)

注意:2dim不是C ++中的有效标识符,因为它以数字字符开头。 要显示您所解释的二维数组,您可以执行以下操作:

#include <iostream>

int main(int argc, char** argv)
{
   int dim[5][5] = {
      {1, 0, 0, 0, 1 },
      {1, 0, 0, 0, 1 },
      {1, 0, 0, 0, 1 },
      {1, 0, 0, 0, 1 },
      {1, 0, 0, 0, 1 }
   };

   for (size_t x = 0; x < 5; x++) {
      for (size_t y = 0; y < 5; y++) {
         std::cout << (dim[x][y] == 0 ? '%' : '$') << ' ';
      }
      std::cout << std::endl;
   }
   return 0;
}