Zadanie: Sortowanie przez wybieranie

Writing /home/grochu/public_html/wiki/data/meta/zajecia/pp1_2023_1/zadania/06_zad_insert_sort.meta failed
Unable to save metadata file. Hint: disk full; file permissions; safe_mode setting.
Creating directory /home/grochu/public_html/wiki/data/attic/zajecia/pp1_2023_1/zadania failed
Writing /home/grochu/public_html/wiki/data/attic/zajecia/pp1_2023_1/zadania/06_zad_insert_sort.1681746955.txt.gz failed

Do powyższego przykładu programu, który zawiera funkcję wczytaj() dodaj następujące funkcje:

  • funkcja maxind() wyszukuje element tablicy o największej wartości. Argumentem funkcji jest tablica zawierająca liczby typu float oraz liczba całkowita n. Wartością zwracaną funkcji jest liczba całkowita z zakresu od 0 do n-1 wskazująca pozycję elementu o największej wartości spośród n pierwszych elementów tablicy.
  • funkcja sortuj() sortuje liczby w tablicy za pomocą algorytmu przez wybieranie. Algorytm ten w każdym kroku wyszukuje największy element wśród nieuporządkowanych elementów i umieszcza go na początku ciągu uporządkowanych liczb.
    Algortym sortowania: dla danych $n$ liczb $x_1, x_2, \ldots, x_n$ wykonuj:
    1. $k=n$
    2. znajdź pozycję $i$ elementu $x_i$ o największej wartości spośród $k$ pierwszych elementów (wykorzystaj w tym celu funkcję maxind())
    3. zamień element $x_i$ z elementem $x_k$
    4. wykonaj $k = k - 1$
    5. jeżeli $k > 1$ wróć do kroku 2
    6. koniec: wynikiem jest posortowany ciąg liczb
  • funkcja wyswietl() wypisuje na ekranie n liczb rzeczywistych z podanej tablicy

Napisz program, który posortuje n liczb rzeczywistych podanych przez użytkownika korzystając z powyższych funkcji.

Przykład:

Ile elementow ?
n = 5
t[0] = 5.3
t[1] = 2.3
t[2] = -5.4
t[3] = 3.14
t[4] = 32
Posortowane elementy tablicy:
t[0] = -5.400000
t[1] = 2.300000
t[2] = 3.140000
t[3] = 5.300000
t[4] = 32.000000