我有一个学校项目。我创建了一个看起来像这样的网格:

0000000000
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000

使用以下循环:
int img[10][10];
for(int i=0;i<10;i++) {
   for(int j=0;j<10;j++) {
        img[i][j] = 0;
   }
}

我想实现这一目标:
0000000000
0011100000
0011100000
0011100000
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000

我尝试的代码(我已经知道很错误)
int img[10][10];
int startRow, startCol, width, height, color;
startRow = 2;
startCol = 3;
width = 3;
height = 3;
color = 1

for(int i=0;i<10;i++) {
   for(int j=0;j<10;j++) {
       img[startRow][] = width + i; // so wrong
       img[startRow][startCol] = height + i; // what am i doing
       img[i + width][j + height] = color; // lets just crash the program
   }
}

没用我不知道如何实现这一目标。

任何帮助都会很棒。

最佳答案

当然,您使用以下代码创建了初始网格:

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

而不是这样:
img[i][j] = j;

我只需添加第二个循环(在第一个循环之后运行)以填充其中的一个:
for(int i=1;i<=3;i++) {
   for(int j=2;j<=4;j++) {
        img[i][j] = 1;
   }
}

10-07 23:58