Zadanie: Sortowanie przez wybieranie
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 typufloatoraz liczba całkowitan. Wartością zwracaną funkcji jest liczba całkowita z zakresu od0don-1wskazująca pozycję elementu o największej wartości spośródnpierwszych 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:- $k=n$
- znajdź pozycję $i$ elementu $x_i$ o największej wartości spośród $k$ pierwszych elementów (wykorzystaj w tym celu funkcję
maxind()) - zamień element $x_i$ z elementem $x_k$
- wykonaj $k = k - 1$
- jeżeli $k > 1$ wróć do kroku 2
- koniec: wynikiem jest posortowany ciąg liczb
- funkcja
wyswietl()wypisuje na ekranienliczb 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