Hi all I am so confuse about getting nxn blocks from 2d array, for an instance:

an 2d array of size is 512*512, and has numbers filled already and its like:

array1[512][512] is

Code:

0, 1, 2, .........511
512, 513' 514.......1023
1024, 1025' 1026......1335
:

and I'd like to copy 4x4 size block from array to

array2[16384][4][4]

(512*512/16=16384 is number of blocks)

so 1st block of array2 will be

Code:

0, 1, 2, 3
512, 513' 514, 515
1024, 1025' 1026, 1027
1336, 1337, 1338, 1339

my code:

Code:

int k=0;
for(i=0; i<512; i++)
for(j=0; j<512; j++)
for(m=0; m<4; m++)
for(n=0; n<4; n++){
array2[k][m][n]=array1[i%4][j%4];
k++;
}

but i got bus error and so confuse

can anyone help me out please?