using System;


namespace SortowanieWybor

{

    class Program

    {

        static void Main()

        {

            int[] tablica = new int[10];


            Console.WriteLine("Podaj 10 liczb całkowitych:");

            for (int i = 0; i < tablica.Length; i++)

            {

                Console.Write($"Liczba {i + 1}: ");

                while (!int.TryParse(Console.ReadLine(), out tablica[i]))

                {

                    Console.WriteLine("Błędny format! Wprowadź liczbę całkowitą.");

                }

            }


            Sorter sorter = new Sorter(tablica);

            sorter.SortujMalejaco();


            Console.WriteLine("\nPosortowana tablica (malejąco):");

            foreach (var liczba in tablica)

            {

                Console.Write(liczba + " ");

            }


            Console.ReadLine();

        }

    }


    class Sorter

    {

        private int[] tablica;


        public Sorter(int[] tablica)

        {

            this.tablica = tablica;

        }


        public void SortujMalejaco()

        {

            for (int i = 0; i < tablica.Length - 1; i++)

            {

                int maxIndex = ZnajdzMaksimum(i);

                (tablica[i], tablica[maxIndex]) = (tablica[maxIndex], tablica[i]);

            }

        }


        private int ZnajdzMaksimum(int start)

        {

            int maxIndex = start;

            for (int i = start + 1; i < tablica.Length; i++)

            {

                if (tablica[i] > tablica[maxIndex])

                {

                    maxIndex = i;

                }

            }

            return maxIndex;

        }

    }

}