如何访问二维数组c ++中的各个元素

时间:2017-04-01 23:17:43

标签: c++ arrays

基本上,我有一个2d数组,我想用for循环填充这些元素。这是一个粗略的设置(不起作用):

int grid[rows][columns];
for (int i=0; i < rows; i++){
    grid[rows][i] = 0;
    for (int j=0; j < columns; j++){
        grid[columns][j] = 0;
    }
}

我有一个用户确定的工作网格。所以基本上如果用户输入x乘x的行和列,它就会起作用。之所以出现这个问题,是因为它在网格的共振峰中打印出随机数。所以有时它会打印出来:

4 4 4 4

4 4 4 4

4 4 4 4

我正在尝试获得一个看起来像的网格:

0 0 0 0

0 0 0 0

0 0 0 0

我首先制作2d数组,然后我尝试用0填充元素。这就是我使用for循环的原因。结果是用0填充每个元素。由于某种原因,它不起作用。我不知道......

任何建议都会有所帮助!谢谢

1 个答案:

答案 0 :(得分:5)

您正在错误地访问2D阵列。试试这个:

int grid[rows][columns];

for (int i=0; i < rows; i++)
{
    for (int j=0; j < columns; j++)
    {
        grid[i][j] = 0;
    }
}

至于为何获得非零数据,可能是因为2D数组中存在随机数据,无论是从代码中剩余还是因为它从未被初始化。