Как разделить двумерный массив на маленькие кусочки двумерных массивов? - PullRequest
0 голосов
/ 28 марта 2019

С учетом двумерного массива [6] [4], как мне неоднократно разбивать его на небольшие куски двумерного массива [3] [3], которые охватывают все приращения +1 x и y?

Массив :

~~~~~~
~.=..~
~...=~
~~~~~~

Цель (путем перемещения на один вправо после первого разделения):

(первый раздел)

~~~
~.=
~..

(второй сплит)

~~~
.=.
...

Цель (путем перемещения в направлении вниз после первого сплита):

(первый сплит)

~~~
~.=
~..

(второй сплит)

~.=
~..
~~~

Веха: разбить на массив [3] [3], проверить его с другим массивом2 [3] [3], если не совпадает, увеличить на 1вправо (с шагом 1 вниз, если достигните конца последнего столбца), замените новый набор массивов [3] [3], затем повторите сравнение

1 Ответ

0 голосов
/ 28 марта 2019

Вы можете получить представление об этой демонстрации.Probelm demo

Псудокод:

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];
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...