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