在C ++中打印9x9数组而不是10x10数组?

时间:2015-03-12 11:31:35

标签: c++ arrays printing draw rectangles

我是C ++的新手,我正在学习,请帮忙。

我有一个[10] [10]的二维数组,如下所述。我只能打开[1] [0]数组,为什么会这样呢?

const int row = 10;
const int column = 10;

int test2[row][column] = {
        { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
        , { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
        , { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
        , { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
        , { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
        , { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
        , { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
        , { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
        , { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
        , { 1, 1, 1, 1, 1, 1, 1, 1, 1, 0 }
};

然后从这里开始,我做了一个双循环来画出一些东西。

for (int i = 0; i < row; i++)
        {
            for (int j = 0; j < column; j++)
            {
                if (test2[i][j] == 1)
                {
                    g->DrawRectangle(blackPen, 100, 100, j * 50, i * 50);
                    //Rectangle = x coordinate, y coordinate, width of rectangle, height of rectangle)
                }
                else if (test2[i][j] == 0)
                {
                    g->DrawRectangle(whitePen, i * 50, j * 50, 50, 50);
                }
            }
        }

它没有打印第一行,任何人都可以指导我吗?谢谢。

1 个答案:

答案 0 :(得分:4)

第一次通过每个for循环j和i为0,意味着矩形的宽度和高度将为0(i * 50 = 0 * 50 = 0)