Zadanie zaliczeniowe z C++ -------------------------- Termin oddania: zajecia nr 13. Napisać program, który realizuje słownik za pomocą drzew BST. Słownik ma mieć operacje (element oznacza char*, porównanie wg porządku leksykograficznego): void wstaw(element) - wstawienie elementu do słownika; int czyJest(element) - sprawdzenie, czy w słowniku znajduje się wskazany element; czyPusty() - sprawdzenie, czy słownik jest pusty; = - przypisanie kopiujące strukturę drzewa BST, ale nie kopiujące elementów konstruktory destruktory Program ma wczytywać z pliku o podanej w argumencie wywołania nazwie kolejne łańcuchy znakowe (każdy w oddzielnym wierszu) do momentu napotkania wiersza ze znakiem #, po którym ma znajdować się drugi ciąg łańcuchów znakowych. Dla każdego łańcucha znakowego z drugiego ciągu program ma sprawdzać, czy znajduje się on we wczytanym wcześniej słowniku. Jeśli tak, to wypisywana jest w oddzielnym wierszu litera 't', jeśli nie --- litera 'n'. Metoda wstaw() powinna zostać zaimplementowana rowniez jako operator <<. Oraz powinien zostać zaimplementowany operator << dla strumienia wyjściowego wypisujący elementy drzewa BST w porządku infiksowym (każdy element w oddzielnym wierszu). Wywołanie $ program -i pozwala na zobaczenie takiego wypisania w porządku infiksowym. Porządek infiksowy oznacza najpierw rekurencyjne wypisanie elementów lewego poddrzewa, potem wypisanie elementu z aktualnego wierzchołka, a następnie rekurencyjne wypisanie elementów prawego poddrzewa. Gdy podano opcję -i zawartość pliku za znakiem # jest ignorowana. Przykładowy plik wejściowy: --------początek pliku-------- ala ma kota a kot ma ale # ala ile kot ma ale ma kota ala lola --------koniec pliku---------- Wypisywany wynik dla tego pliku bez podanych opcji: t n t t t t n Wypisywany wynik dla tego pliku dla opcji -i: a ala kot ma ale ma kota Powodzenia. Pytania prosimy kierować do Aleksego Schuberta: alx@mimuw.edu.pl.