본문으로 바로가기

이번에는 코딩과제만 주어졌다.


1. 달력 출력하기(2017년 기준)


2. 배열크기 N을 입력받아 N*N행렬을 만들고 오름차순으로 정렬하기


3. 위의 정렬을 역순으로 정렬하기


4. ㄹ 정렬하기



내가 작성한 2번과제에 대한 코드는 아래와 같다


#include <stdio.h>


int i,j;


void func_e(int arr1[][10],int size1)

{

int tmp;

int k,l,y;

for(k=0;k<size1;k++)

for(l=0;l<size1;l++)

{

y=l;

for(i=k;i<size1;i++)

{

for(j=y;j<size1;j++)

if(arr1[k][l]>arr1[i][j])

{

tmp = arr1[k][l];

arr1[k][l] = arr1[i][j];

arr1[i][j] = tmp;

}

y=0;


}

}

}



int main()

{

int arr[10][10];

int size;


printf("배열 크기 : ");

scanf("%d",&size);


for(i=0;i<size;i++)

for(j=0;j<size;j++)

scanf("%d",&arr[i][j]);


func_e(arr,size);


for(i=0;i<size;i++)

{

for(j=0;j<size;j++)

printf("[%d]\t",arr[i][j]);

printf("\n");

}

return 0;

}




배열의 크기와 값들을 입력받아 오름차순으로 정리하여 출력하는 코드이다.

4중for문을 쓰는것때문에 어지러웠지만 출제의도에 맞게 코딩한것 같다.


역순의 경우 비교식에서 부등호만 반대로 만들어주면 된다.