给出2D数组[6] [4],如何将其重复拆分为2D数组[3] [3]的小块,覆盖所有+1 x和y增量?
数组:
~~~~~~
~.=..~
~...=~
~~~~~~
目标(在第一次拆分后向右移动):
(第一次拆分)
~~~
~.=
~..
(第二次拆分)
~~~
.=.
...
目标(在第一次拆分后将一个方向向下移动):
(第一次拆分)
~~~
~.=
~..
(第二次拆分)
~.=
~..
~~~
里程碑:进入array [3] [3],与另一个array2 [3] [3]进行检查,如果不匹配,则向右递增1(如果到达最后一列的末尾,则向下递增1),替换一组新的array [3] [3],然后重复比较
答案 0 :(得分:0)
伪代码:
int block[4][4] =
{
{ 0,1,0,0 },
{ 1,1,1,0 },
{ 0,0,0,0 },
{ 1,1,0,0 }
};
int block1[2][2];
int block2[2][2];
int block3[2][2];
int block4[2][2];
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < 2; j++)
{
block1[i][j] = block[i][j];
block2[i][j] = block[i][j+2];
block3[i][j] = block[i+2][j];
block4[i][j] = block[i+2][j+2];
}
}