본문 바로가기
프로그래밍 문제/c# 문제

c# 문제 43. 배열 오름차순, 내림차순 정렬 함수

by 지나팩 2023. 9. 19.

입력받은 배열을 오름차순과 내림차순 정렬을 할 수 있는 함수와 그 결과를 출력하는 코드를 작성하세요.

코드는 아래에~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

static void Main()
        {
            Console.WriteLine("배열 크기를 입력하세요:");
            int length = int.Parse(Console.ReadLine());

            int[] arr = new int[length];

            for(int i = 0; i < arr.Length;i++)
            {
                if(i == arr.Length - 1) Console.WriteLine($"마지막 요소를 입력하세요:");
                else Console.WriteLine($"{i}번째 요소를 입력하세요:");

                arr[i] = int.Parse(Console.ReadLine());
            }

            Console.WriteLine("오름차순은 0, 내림차순은 1을 입력하세요");
            int sort = int.Parse(Console.ReadLine());


            Console.WriteLine("정렬 전:");
            foreach (int i in arr) Console.WriteLine(i);

            Console.WriteLine();

            Console.WriteLine("정렬 후:");
            if(sort == 0) ArraySort(true, arr);
            else ArraySort(false, arr);

            foreach (int i in arr) Console.WriteLine(i);

        }

        public static void ArraySort(bool isUp, int[] arr)
        {
            for(int i = 0; i < arr.Length - 1; i++)
            {
                for(int  j = i+1; j < arr.Length; j++)
                {
                    if(isUp)
                    {
                        if(arr[i] > arr[j])
                        {
                            int temp = arr[i];
                            arr[i] = arr[j];
                            arr[j] = temp;
                        }
                    }
                    else
                    {
                        if (arr[i] < arr[j])
                        {
                            int temp = arr[i];
                            arr[i] = arr[j];
                            arr[j] = temp;
                        }
                    }
                }
            }
        }

댓글