본문으로 바로가기

C :: 2차원배열 ㄹ정렬하기

category Programing/C 2017. 4. 4. 02:57

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


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


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


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


4. ㄹ 정렬하기




마지막 ㄹ정렬에 대한 코드는 아래와 같다.


#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;

if((k+2)%2 ==0)

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;

}

else

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

{

for(j=size1-1-y;j>=0;j--)

if(arr1[k][size1-1-l]>arr1[i][j])

{

tmp = arr1[k][size1-1-l];

arr1[k][size1-1-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;

}


어휴....;; 이건 ... 힘들었다... 억지로 껴맞춘것 같아서 별로다 ㅠㅠ