본문 바로가기
반응형

전체 글56

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.
N x N배열의 각 행과 열의 합중 가장 큰 값의 행열 번호 찾기 # 최대 값을 찾기 위해서는 최소값을 넣어놓고, 그 값보다 큰 값이 들어오면 값을 업데이트해나가는 방법이 효과적이다. 1. 변수 max에 제일 작은 값 넣어두기 - int max = 0; 최대값 max라는 변수에 제일 작은 값을 넣어준다. 2. 2중 for 문으로 배열을 탐색하면서 max 값보다 큰 값이 있으면 값을 업데이트 해준다. 3. 행과 열의 번호를 찾는 것이기 때문에, max_r, max_c라는 변수를 B배열의 인덱스로 활용한다는게 중요하다. #include int A[5][5] void input(void) { int i, j; scanf("%d", &N); for (i = 0; i < 5; i++) { for (j = 0; j < 5; j++) { scanf("%d", &A[i][j]); }.. 2022. 12. 24.
2차원 배열에 값 넣어 주기 배열에 넣어줄때도 ' &' 붙이는 것을 잊지말자 !! 입력 받은 N 크기 만큼의 2차원 배열에 원하는 값을 넣어 주는 함수이다. for문을 활용하여 2중루프를 돌면서 배열의 위치에 값을 넣어준다. #include int N; int A[N][N]; void main(void) { int i, j; scanf("%d", &N); for ( i = 0; i < N; i++) { for(j = 0; j < N; j++) { scanf("%d", &A[i][j]); } } } 2022. 12. 23.
반응형