Języki Programowania
Laboratorium
Ćwiczenia 9,10
Struktury danych
Termin oddania zadania:
21 grudnia 2009
Zadanie:
Korzystając z dynamicznych struktur danych napisać program realizujący następujące zadanie:
Słownik sprawdzający pisownię w języku polskim. Baza słów słownikowych znajduje się w
pliku /export/home/p/rkurjata/slowa.txt.gz (słownik do gier słownych
dostępny pod adresem
http://www.sjp.pl/slownik/growy/
- plik tekstowy skompresowany z
wykorzystaniem programu gzip ze względu na duży rozmiar – >2738000 słów, 33MB).
Program ma w sposób efektywny przechowywać i przeszukiwać słownik w poszukiwaniu
słów podawanych na jego standardowe wejście, a w przypadku nieznalezienia słowa –
wypisać je na standardowe wyjście.
W celu odczytania pliku ze słowami należy zapoznać się z biblioteką zlib (wersja 1.1.4
http://www.zlib.net/manual.html
gzopen, gzclose, gz*
będące
odpowiednikami funkcji
fopen, fclose, f*
). Nagłówek -
#include <zlib.h>
, przy
linkowaniu dodajemy opcję
-lz
. W celu podglądu zawartości tego pliku można skorzystać z
programu
gzcat
działającego analogicznie do programu
cat
w odniesieniu do plików
kompresowanych.
UWAGA: Nie kopiować słownika na własne konto ze względu na zbyt duży rozmiar pliku.
Korzystać bezpośrednio ze wskazanej lokalizacji.
Wymagania programu:
1. Wszystkie parametry podawane są w linii poleceń
2. Program zabezpieczony jest przed podaniem błędnych danych wejściowych
3. Program w sposób czytelny informuje użytkownika o wynikach swojego działania
4. Dokumentacja do programu wymagana jest w postaci komentarzy w kodzie źródłowym
5. Kompilacja programów z wykorzystaniem Makefile