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