3행 4열을 4행 3열로 transpose
1. a배열의 행과 열의 움직이는 위치를 관찰한다. 2. a[0,0] -> b[3,2] / a[0,1] -> b[2, 2] .... 3. i, j 두개의 변수로 어떻게 바꿀지 고민한다. 1. a배열의 행과 열은 0 -> 2 / 0 -> 3으로 증가한다 2. b배열의 행은 3에서 a배열의 열 인덱스의 차이만큼 감소한다. 3. b배열의 열은 2에서 a배열의 행 인덱스의 차만큼 감소한다 #include 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[3 - j][2 -..
2022. 12. 26.
2차원 행렬 Transpose / 2차원배열 Transpose
1. 배열의 인덱스의 움직임을 관찰한다. 2. a배열의 [0,0] -> [4,4] / [0,1] -> [3,4] ... 3. a 배열 b 배열 0 0 => 3 3 1 0 => 3 2 2 0 => 3 1 3 0 => 3 0 1. 변수 i, j, k 세개를 가지고 배열의 변화를 표현하였다. 2. 변수 j의 경우 행열이 변화하는 규칙을 보니 ja + jb = 3이라는 규칙이 보였다 3. 따라서 jb를 3-jb로 바꾸어 넣었다. 1. j와 마찬가지로 i와 k사이의 규칙을 찾으면 i, j 변수 두개로만 작성이 가능할것 같다. #include 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 transpo..
2022. 12. 25.