Skúškové Zadanie
Anglicko-slovenský prekladový strom
Napíšte program v jazyku C alebo C++, ktorý bude implementovať funkcionalitu anglicko-slovenského slovníka prostredníctvom lexikografického stromu (Trie), v ktorom budú anglické slová (písané malými písmenami od ‘a’ po ‘z’).
Vrcholy lexikografického stromu budú mať:
- Atribút pole 26 smerníkov (pointerov) na nasledovné vrcholy lexikografického stromu reprezentujúce jednotlivé písmená.
- Atribút
jeSlovo
(typuint
), ktorá určuje, či vrchol predstavuje koniec slova. - Atribút
preklad
(typu buďstring
alebovector
alebo pole znakov, t.j.char[]
), ktorá bude uchovávať slovenský preklad daného slova v prípade, ak daný vrchol predstavuje koniec anglického slova.
Po spustení programu vykoná program v cykle:
Voľba 1
Pri zadaní “1” si program vypýta anglické slovo a jeho slovenský preklad a následne vloží anglické slovo do lexikografického stromu a jeho slovenský preklad uloží do premennej preklad vrcholu, ktorý predstavuje posledné písmeno vkladaného anglického slova. (10 bodov)
Ak dané anglické slovo už v lexikografickom strome je, nahradí sa jeho pôvodný preklad vkladaným prekladom. (5 bodov)
Voľba 2
Pri zadaní “2” si program vypýta anglické slovo a vyhľadá, či slovo je v slovníku (v lexikografickom strome). Ak áno, potom vypíše jeho slovenský preklad. (10 bodov)
Ak nie, vypíše hlášku, že anglické slovo v slovníku nenašiel. (5 bodov)
Voľba 3
Pri zadaní “3” si program vypýta anglické slovo a ak sa nachádza v slovníku, potom ho vymaže, t.j. zmení hodnotu jeSlovo
vrcholu pre posledné písmeno anglického slova na 0. (5 bodov)
V prípade, že vymazané anglické slovo nie je prefixom iného anglického slova v slovníku, vymaže tie vrcholy, ktoré nie sú súčasťou žiadneho iného anglického slova uloženého v slovníku (v lexikografickom strome). (10 bodov)
Voľba 4
Pri zadaní “4” vypíše program celý slovník tak, že v jednotlivých riadkoch budú dvojice anglické slovo, pomlčka a slovenský preklad anglického slova. (15 bodov)
Na začiatku bude slovník (lexikografický strom) prázdny.
Program okomentujte, zároveň ako komentár na začiatku programu uveďte svoje meno a priezvisko.
Zdrojový kód programu zašlite emailom s predmetom “DSA Skúška” na emailovú adresu prednášajúceho predmetu.