目标是以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.但我不能为我的生活弄清楚如何打印整行,因为没有列传入(我不确定它是否重要或我是否误解了这个概念。基本上我不知道如何在上述情况下访问整行。
任何可能有助于我开始使用的提示?
答案 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;
}