Morseova abeceda
Napište program, který bude převádět řetězce textové znakové na textové morseovkové a zpět.
Pozn.:
znak v morseovce sestává z teček a čárek, oddělovačem jsou jiné znaky (mezery) – použijte pomocný soubor morse.txt – první řádek udává počet znaků v souboru
pro převod z textu na morseovku použijte dynamické 2D pole = pole řetězců. Index znaku v poli bude dávat odkaz na řetězec obsahující jeho morse podobu.
Pro převod z morseovky použijte binární strom. Binárním strome rozumíme útvar složený z uzlů, ze kterých další cesta vede pouze dvěma možnými směry. V našem případě směrem tečka nebo čárka, podle toho jaký znak vstupního řetězce vyhodnocujeme. Uzel má také hodnotu, která značí příslušný znak v případě, že již nemáme ve vstupním řetězci tečku nebo čárku (již jsme dokončili zpracování). První uzel nemá žádnou hodnotu. Poslední uzly nemají následníky. Realizace uzlu je výhodná pomocí struktury obsahující hodnotu a odkaz na další prvek, který má navíc tečku a další prvek, který má navíc čárku.
Napište funkci pro tvorbu (inicializaci) binárního stromu. Ta načte daný znak a jeho tečko-čárkový ekvivalent a zařadí ho do stromu. Uzly stromu, které bude muset vytvořit po cestě, vytvoří jako prázdné.
Napište funkce pro dekodování znaku a posléze i pro dekodování řetězce (oběma směry).
Poslední úpravy 2007-09-19