728x90
반응형
#include<stdio.h> // N x N 행렬 오름차순 함수 void ascending(int num, int arr[][10]) { int i, j, k, l, temp = 0; // i , j 와 k, l를 비교 int InitialValue_k, InitialValue_l; // 초기값 k, l 변수 설정 for (i = 0; i < num; i++) { for (j = 0; j < num; j++) { InitialValue_k = i; InitialValue_l = j + 1; if (j == num - 1 && i < num - 1) // N x N에서 뒤에 N이 마지막 숫자라면 다음 행의 i와 비교 InitialValue_k = i + 1; for (k = InitialValue_k; k < num; k++) { if (k > i) InitialValue_l = 0; // k 가 i 보다 크면 l은 0부터 비교 for (l = InitialValue_l; l < num; l++) { if (arr[i][j] > arr[k][l]) { temp = arr[k][l]; arr[k][l] = arr[i][j]; arr[i][j] = temp; } } } } } } // N x N 행렬 오름차순 ㄹ 정렬 void change_connect(int num, int arr[][10]) { int i, j, k; int temp = 0; // 짝수번째 행만 내림차순 정렬 for (i = 1; i < num; i += 2) { for (j = 0; j < num; j++) { for (k = j + 1; k < num; k++) { if (arr[i][j] < arr[i][k]) { temp = arr[i][j]; arr[i][j] = arr[i][k]; arr[i][k] = temp; } } } } } int main() { int i, j; int num; int arr[10][10] = { 0, }; printf("n을 입력하세요(3~10) : "); scanf_s("%d", &num); printf("%d X %d 행렬 입력 : \n", num, num); // N x N 행렬 입력 for (i = 0; i < num; i++) { for (j = 0; j < num; j++) { scanf_s("%d", &arr[i][j]); } } ascending(num, arr); // 오름차순 함수 호출 change_connect(num, arr); // 오름차순 ㄹ 함수 호출 // N x N 행렬 출력 for (i = 0; i < num; i++) { for (j = 0; j < num; j++) printf("%d\t", arr[i][j]); printf("\n"); } }
반응형
'Programming > C' 카테고리의 다른 글
[C] 짱짱 포인터 분석 2 (0) | 2017.04.10 |
---|---|
[C] 짱짱 포인터 분석 1 (0) | 2017.04.09 |
[C] N x N 행렬 오름차순 역순 정렬 (0) | 2017.04.03 |
[C] N x N 행렬 오름차순 정렬 (0) | 2017.04.03 |
[C] 2017년 달력 출력 (0) | 2017.04.03 |
댓글