Zadanie: Sortowanie liczb z pliku
Napisz program, który posortuje dowolnie długą sekwencję liczb rzeczywistych umieszczoną w pliku tekstowym liczby.txt.
Zakładamy, że plik zawiera wyłącznie liczby (po jednej liczbie w każdej linii). Program powinien pozwalać posortować dowolnie długą sekwencję liczb, dlatego powinien wykorzystywać mechanizm dynamicznego przydziału pamięci, tak aby wszystkie dane pomieścić w odpowiedniej strukturze danych.
Zadanie można zrealizować za pomocą jednego z dwóch podejść:
- listy jednokierunkowej. Każda kolejna wartość liczbowa wczytana z pliku dodawana jest do listy na takiej pozycji aby kolejne elementy listy zachowały porządek.
- tablicy o długości
N. Ponieważ nie wiadomo jak wiele będzie wartości wejściowych, program najpierw wyznacza wartośćN(ilość liczb w pliku) a następnie, tworzy dynamicznie tablicę o takim rozmiarze aby pomieścić wszystkie liczby zawarte w pliku, po czym dane są wczytywane do tablicy. Następnie wypełniamy tablicę wartościami z pliku i sortujemy zawartość tablicy.
Wskazówka: aby „przewinąć” pozycję w plikufilei ustawić wskaźnik na jego początku można użyć funkcjifseak(file, 0, 0).
Dane wejściowe programu: plik tekstowy liczby.txt zawierający dowolnie długą serię liczb rzeczywistych. Zakładamy, że plik znajduje sie w bieżącym katalogu roboczym. W przypadku braku pliku wejściowego wypisywany jest stosowny komunikat błędu i program kończy swoje działanie.
Wynik: ciąg wszystkich liczb z pliku wejściowego wypisany w kolejności od najmniejszej do największej wartości
Przykładowy plik danych wejściowych: liczby.txt