c++ - 在环形网格内创建一个 3x3 框

标签 c++ arrays grid

我有一个学校项目。我创建了一个如下所示的网格:

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; 
   }
}

关于c++ - 在环形网格内创建一个 3x3 框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23208545/

相关文章:

c - 检查升序数组中有多少个系列的函数的算法是什么。并检测c中最长的系列

c++ - 尝试在类定义中声明数组时出错

java - 无法调整 headless Chrome 的大小

javascript - JS中agGrid显示二维数组

c++ - 您如何确定由 'std::map' 创建的用于 'boost::pool_allocator' 的节点的大小(以跨平台方式)?

c++ - std::mutex 是否足以使所有先前的读写发生在同一线程中的后续读写之前?

c++ - 是否可以确定类是否具有特定签名的模板方法

c++ - 如何在QIoDevice中摆脱memcpy

javascript - 替换特定索引(数组)处的值

firefox - 只有 Firefox 对内联 block 元素表现得很奇怪