#include <stdio.h>


void Turn90Degree(int (*arr)[4], int num);


int main(void)

{

int arr[4][4]={

{1, 2, 3, 4},

{5, 6, 7, 8},

{9, 10, 11, 12},

{13, 14, 15, 16}

};


Turn90Degree(arr, 1);

printf("\n");

Turn90Degree(arr, 2);

printf("\n");

Turn90Degree(arr, 3);

printf("\n");

Turn90Degree(arr, 4);

printf("\n");


return 0;

}


void Turn90Degree(int (*arr)[4], int num)

{

int i,j;

int arr_rep[4][4];


for(i=0; i<4; i++)

for(j=0; j<4; j++)

arr_rep[i][j]=arr[i][j];


switch(num%4)

{

case 1:

for(i=0; i<4; i++)

for(j=0; j<4; j++)

arr[i][j]=arr_rep[3-j][i];

break;

case 2:

for(i=0; i<4; i++)

for(j=0; j<4; j++)

arr[i][j]=arr_rep[3-i][3-j];

break;

case 3:

for(i=0; i<4; i++)

for(j=0; j<4; j++)

arr[i][j]=arr_rep[j][3-i];

break;

case 0:

for(i=0; i<4; i++)

for(j=0; j<4; j++)

arr[i][j]=arr_rep[i][j];

break;

}


for(i=0; i<4; i++)

{

for(j=0; j<4; j++)

printf("%d ", arr[i][j]);

printf("\n");

}

}


4X4 배열을 90도씩 회전시키는 프로그램인데 어디가 문제야;;