创建基于网格的数组

时间:2014-04-21 01:22:57

标签: c++ arrays

我正在尝试用c ++创建一个基于网格的数组,当我通过控制台创建网格时,它很好但是当我尝试在数组中实现它时,它会混乱。

int i,j;
for(i=0;i<100;i++) {
    for(j=0;j<100;j++) {
        cout << j << " ";
    };
    cout << endl;
};

当我以前创建和cout数组网格时,它的工作方式不同:

int i,j, img[100][100];

for(i=0;i<100;i++) {
   for(j=0;j<100;j++) {
      cout << img[i][j] << " ";
   };
   cout << endl;
};

我到底做错了什么?

这应该是正确的输出:

//99 rows of the following code

0 1 2 3 4 5 6 7 8 9 10 11 12 ... 99
0 1 2 3 4 5 6 7 8 9 10 11 12 ... 99
0 1 2 3 4 5 6 7 8 9 10 11 12 ... 99  
...
x99

注意:这个控制台很好并且可以很好地写入文件,但是当我尝试使用数组重现它时,它会搞砸。大多数显示0。我需要将其合并到一个数组中,因为我需要修改网格的特定部分。

1 个答案:

答案 0 :(得分:3)

您在未初始化的数组中打印出值。默认情况下,img[i][j]的值不是j - 您不应该假设其默认状态。如果你这样做来初始化数组,那么你应该得到你期望的输出:

int i,j, img[100][100];

for(i=0;i<100;i++) {
   for(j=0;j<100;j++) {
      img[i][j]=j;
   }
}

//then print it out.