Programarea calculatoarelor 2 - Laborator 13

Scrieți un program care verifică ortografia unui text, afișând cuvintele care nu se regăsesc în dicționar.
Textul se află într-un fișier cu numele dat pe linia de comandă. Un cuvânt e un șir de caractere alfanumerice. Orice alte caractere sunt separatori și se ignoră. Nu se fac limitări asupra textului, dar se știe că orice cuvânt din dicționar are cel mult 31 de caractere. Dicționarul se află în fișierul /usr/share/dict/words, câte un cuvânt pe fiecare linie, ordonate alfabetic cu ignorarea diferențelor dintre litere mici și mari (se vor considera egale și la comparație).

Indicații
Implementați mai întâi separarea în cuvinte a textului de verificat. Citiți dicționarul și memorați-l într-o structură simplu și rapid de implementat, dar și potrivită pentru căutare rezonabil de eficientă (de exemplu tabelă de dispersie sau tablou ordonat, cu căutare binară).
Veți studia ulterior că pentru dicționar se poate folosi și o structură numită trie, un arbore cu litere în noduri, în care fiecare cale de la rădăcină corespunde unui cuvânt, și două cuvinte au aceeași cale pe porțiunea de prefix comun (un nod-literă are până la 26 de succesori, unul pentru fiecare continuare posibilă).


Marius Minea
Last modified: Wed Jan 12 09:58:49 EET 2005