문제 설명
4x4 배열의 값들을 출력 예시와 같이 b 배열(4x4)에 옮겨 저장하라
#include <stdio.h>
int a[4][4] = { {1,2,3,4}, {5,6,7,8}, {9,10,11,12}, {13, 14, 15, 16} };
int b[4][4];
void transpose1(void)
{
// 코드 구현
}
void main(void)
{
int i, j;
for (i = 0; i < 4; i++)
{
for (j = 0; j < 4; j++)
{
printf("%d ", a[i][j]);
}
printf("\n");
}
transpose1();
for (i = 0; i < 4; i++)
{
for (j = 0; j < 4; j++)
{
printf("%d ", b[i][j]);
}
printf("\n");
}
}
출력 예시
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
16 12 8 4
15 11 7 3
14 10 6 2
13 9 5 1
정답 코드
#include <stdio.h>
int a[4][4] = { {1,2,3,4}, {5,6,7,8}, {9,10,11,12}, {13, 14, 15, 16} };
int b[4][4];
void transpose1(void)
{
// 코드 구현
int i, j;
for (i = 0; i < 4; i++)
{
for (j = 0; j < 4; j++)
{
b[4 - 1 - j][4 - 1 - i] = a[i][j];
}
}
}
void main(void)
{
int i, j;
for (i = 0; i < 4; i++)
{
for (j = 0; j < 4; j++)
{
printf("%d ", a[i][j]);
}
printf("\n");
}
transpose1();
for (i = 0; i < 4; i++)
{
for (j = 0; j < 4; j++)
{
printf("%d ", b[i][j]);
}
printf("\n");
}
}
메모
printf 내부의 \n 습관화 필요