该程序应该输出一个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;
}
最佳答案
我注意到您正在使用ROWS
和COLS
作为for
循环内的数组索引...
可能打算使用循环变量r
和c
。
另外,将大写名称用于常规变量也被认为是错误的形式...
C语言中的约定是仅对宏使用大写标识符。
关于c++ - 火模拟程序不知道如何初始化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15483852/