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

and I'd like to copy 4x4 size block from array toCode:0, 1, 2, .........511 512, 513' 514.......1023 1024, 1025' 1026......1335 :

array2[16384][4][4]

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

so 1st block of array2 will be

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

but i got bus error and so confuseCode: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++; }

can anyone help me out please?