Zadanie 12 (termin oddania 9 marca, 23:59, 2 pkt) Napisz _modul_ dla programu, ktory: - wczyta ze standardowego wejscia i zbuduje w pamieci dwa drzewa binarnych wyszukiwan (BST), - doda je do siebie tworzac trzecie drzewo (binarne, ale juz nie koniecznie BST), - wypisze to trzecie drzewo infiksowo, - zwolni pamiec. Dane do programu maja postac dwu wierszy. Kazdy wiersz opisuje jedno drzewo i ma postac ciagu liczb calkowitych pooddzielanych pojedynczymi odstepami (ani przed pierwsza liczba, ani za ostatnia nie ma odstepow). Wszystkie liczby z wiersza nalezy jedna po drugiej wstawiac do (poczatkowo pustego) drzewa BST. Przyjmujemy, ze przy wstawianiu powtarzajace sie klucze wstawiamy do prawego poddrzewa. Wynik dodawania dwu drzew binarnych (wiec takze i BST) definiujemy jako drzewo binarne majace te wlasnosc, ze ma ono wierzcholek wtw gdy w tym samym miejscu struktury drzewa co najmniej jedno z dodawanych drzew ma wierzcholek Wartoscia przechowywana w wierzcholku jest suma wartosci wiercholkow z odpowiadajacych mu wierzcholkow dodawanych drzew (jesli w jednym z dodawanym drzew nie ma odpowiadajacego wierzcholka, to traktujemy go jak wierzcholek z wartoscia 0). Wypisywanie drzewa binarnego polega tu na wypisaniu tylu wierszy ile drzewo ma wierzcholkow, kolejne wiersze odpowiadaja kolejnym wierzcholkom, w kazdym wierszu wypisujemy najpierw glebokosc wierzcholka (przyjmujemy, ze korzen ma glebokosc 0), potem pojedynczy odstep i na koniec wartosc przechowywana w wierzcholku. Modul ma miec nastepujacy interfejs: interface type TBin = {odpowiednia deklaracja} function wczytaj: TBin; function dodaj(d1, d2: TBin): TBin; procedure wypisz(d: TBin); procedure usun(var d: TBin); i _musi_ nazywac sie zad12.pas. Program bedzie mial nastepujaca postac: program program_zad12; uses zad12; var d1, d2, d3: TBin; begin d1 := wczytaj; d2 := wczytaj; d3 := dodaj(d1,d2); wypisz(d3); usun(d1); usun(d2); usun(d3); end. Np. dla danych: 1 2 3 4 -3 6 5 program powinien wypisac: 1 -3 0 5 2 5 1 8 2 3 UWAGA: jako rozwiazanie nalezy wyslac _wylacznie_ modul! Dodatek: Rysunki drzew z przykladu (dla czcionki nieproporcjonalnej): pierwsze: 1 \ 2 \ 3 drugie: 4 / \ -3 6 / 5 wynik: 5 / \ -3 8 / \ 5 3