该程序应该输出一个12x24的矩阵,该矩阵的边界为0,中间为1,在(1,1)的位置为2,我不知道在哪一部分初始化M [row] [col] = 2;因为我放在任何地方,它都不会将2输出到第一位,有什么建议吗?

int main()
{
    int M[N/2][N];
    int ROWS, COLS, row, col;
    int r, c;
    ROWS = sizeof(M) / sizeof(M[0]);
    COLS = sizeof(M[0]) / sizeof(M[0][0]);
    fill(M, ROWS, COLS, 1, 1);
    row=1;
    col=1;
    for(r=0; r< ROWS; r++)
    {
        for(c=0; c < COLS; c++)
        {
            if (r==0||r ==ROWS-1)
            {
                M[ROWS][COLS]=0;
            }
            else if(c==0||c==COLS-1)
            {
                M[ROWS][COLS]=0;
            }
            else {
                M[ROWS][COLS]=1;
            }

            cout<< M[ROWS][COLS];
        }

        cout << endl;

    }

    print(M, ROWS, COLS);
    return 0;
}

最佳答案

我注意到您正在使用ROWSCOLS作为for循环内的数组索引...
可能打算使用循环变量rc

另外,将大写名称用于常规变量也被认为是错误的形式...
C语言中的约定是仅对宏使用大写标识符。

关于c++ - 火模拟程序不知道如何初始化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15483852/

10-11 21:29