Marynarzowi udało się zakodować słowa, ale ma problem z ich przesyłaniem. Nie potrafi pisać dynamicznie w nowy sposób. Dlatego też potrzebuje programu, który opierając się na podanych mu wstępnie słowach kodowych, będzie samodzielnie wysyłał odpowiednie sygnały świetlne.
Uwaga! W zdaniach występują spacje, ale nie występują wielkie litery ani znaki interpunkcyjne. Wiadomości składają się ze znaków alfabetu łacińskiego, zatem nie zawierają polskich znaków.
Pomiń kodowanie spacji w zdaniu.
Do oceny oddajesz:
plik wyniki_3.txt zawierający odpowiedź (zdania z pliku zdania.txt zaszyfrowane za pomocą słów kodowych z pliku listaSlow.txt; zaszyfrowane zdania powinny być zapisane w kolejnych liniach),
plik(i) z komputerową realizacją zadania (kodem programu).
W załączonym pliku listaSlow.txt znajduje się 27 wierszy. Każdy wiersz zawiera po jednym słowie kodowym, kolejność słów kodowych w pliku odpowiada kolejności liter w alfabecie (małe litery używane w kodzie ASCII, po kodzie znaku „z” znajduje się kod spacji). Maksymalna długość słowa kodowego w pliku wynosi 7 znaków.
Ważne!
Wzorując się na konwencji przyjętej w poprzedniej sekcji, zakładamy, że przy kodowaniu za pomocą algorytmu Huffmana znak „_” w kodzie oznacza przejście do prawego potomka rozważanego obecnie węzła (o ile węzeł nie jest liściem).
RwgaXbjAMKeR3
Plik zdania.txt zawiera 100 zdań do zakodowania słowami kodowymi zawartymi w pliku listaSlow.txt.
R1Tq1LuMq3ODa
Rozwiąż zadanie dla danych wejściowych zawartych w załącznikach. Wykorzystaj w tym celu jeden z języków programowania: C++, Java lub Python. Odpowiedź do zadania znajdziesz w pliku wynik_4.txt, pod sekcją ćwiczeń.
Przetestuj działanie programu dla następujących danych: