Can you initialize the array to be 32 X 32, but only USE and PRINT OUT the 2x2 part of it that you need, at first. Later, you might use the 4x4, the 8x8, etc.
Code:
int r,c;
char matrix[32][32]={
{"Near a lonely prison wall"},
{"I heard a young girl calling"},
{"Michael they have taken you away"},
{"for you stole Travalyn's corn},
{"so the young, might see the morn"},
{"now a prison ship lies waiting in the bay"};
{"Low lie the Fields of Athenry"},
{"Where once we watched"},
{"the small free birds fly"};
;
for(r=0;r<2;r++) {
for(c=0;c<2;c++) {
printf("%c",matrix[r][c]);
}
printf("\n");
}
printf("\n\n");
Try the above with 2, 4, and 8, and see if that helps