Zostrojte program, ktorý pre text zo súboru pozostávajúci zo slov (v každom riadku je jedno slovo) vypíše podľa abecedy zoradený zoznam všetkých slov, ktoré sa v texte vyskytujú aspoň dvakrát. Ku každému slovu vypíše aj počet, koľko krát sa v texte vyskytlo. Použite binárny vyhľadávací strom.
Ďalej program umožní používateľovi interaktívne používať operácie údajového typu binárny vyhľadávací strom, ktorý v príklade používate:
• Create – vytvorenie prázdneho stromu
• Make – pridanie vrchola stromu
• Root – nastaví aktívny prvok na koreň stromu
• Lchild – nastaví aktívny prvok na ľavého nasledovníka
• Rchild – nastaví aktívny prvok na pravého nasledovníka
• Parent – nastaví aktívny prvok na predchodcu aktívneho vrchola
• Data – vráti hodnotu aktívneho vrchola
tak toto je zadanie ... cize ak som tomu dobre porozumel, tak si budem postupne nacitavat zo suboru slova ... porovnavat ich a ukladat bud do laveho, alebo praveho korena ... to znamena ze ich pekne usporiada, a tym padom budem moct vypisat pekny zoznam i s poctom vyskytov rovnakych slov.
Najde mi prve slovo dajme tomu "Zadanie", druhe "Taxik", tretie "Zakon", stvrte "Bernard", piate "Boris", sieste "Alica".
Ako bude funovat cely ten cyklus ukladania do binarneho stromu ?
Binarny vyhladavaci strom
v principe:
Kód: Vybrať všetko
1) nacitaj Slovo
2) Root
3) if Aktivny.slovo = Slovo then Aktivny.pocet++; chod na bod 1)
else if Aktivny.slovo > Slovo then Rodic := Aktivny; Lchild; chod na bod 4)
else Rodic := Aktivny; Rchild; chod na bod 4)
4) if Aktivny existuje then chod na bod 3)
else Make(tu potrebujes vediet Rodica); chod na bod 1)