Sukerbek Ответов: 1

C++ разбивает массив на блоки


Привет всем, как я могу разбить массив на блоки.Например, учитывая массив размером 4x4, разделите массив на блоки 2x2, а затем размер массива равен 4x4, так что будет четыре блока 2x2.

В этом случае размер блока равен 2;

             Block 1      Block2
0 1 0 0       0 1         0 0
1 1 1 0 - >   1 1         1 0
0 0 0 0 - >
1 1 0 0       Block 3      Block4
              0 0          0 0
              1 1          0 0

Я хочу что-то вроде этого. Любая помощь будет оценена по достоинству

Что я уже пробовал:

На самом деле я не мог этого сделать потому что не мог найти никакой идеи

1 Ответов

Рейтинг:
2

User 7429338

Как насчёт:

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


Sukerbek

Огромное спасибо