Zdravím
Potřeboval bych poradit,jak vyřešit následující situaci(já osobně jsme zde skončil:)
Dejme tomu že máme nějaký datový strom s nelineární strukturou,jak by se dalo udělat abychom strukturu datového stromu vypsali do txt souboru(na obrazovku bych tusil,ale nebylo by to korektni(pomoci go to x apod)).
struktura by mela nakonec tedy vypada asi takto
1
2 3
5 6 6 7 8
čili žádné rámečky,ukazatele,prostě jenom takovýto výpis pomocí zvolené metody například inorder,či jiné.
Děkuji za každou radu
J.
Fórum › Pascal
Datový strom,výpis struktury do txt
Jestli ten strom umíš vypsat pomocí Gotoxy a tak, tak ho tímhle způsobem vypiš do pole stringů a to pak zapiš do souboru.
První věc, která mě napadla:
Na začátek prvního řádku vypiš první patro (kořen) stromu.
Cyklus:
- Posuň se o patro stromu a o řádek pole níž.
- Do dalšího řádku vypiš všechna čísla z toho patra tak, aby vždycky mezi dvěma bylo místo na jedno číslo z vyššího patra. Zpětně projdi hotové řádky a vycpi je mezerami tak, aby čísla vycházela do mezer mezi čísly na následujícím řádku.
Asi na to existují i efektivnější algoritmy, ale nevím, ještě jsem to neřešil.
Moje stránka.
Prave,ze netusim,jak ho vypsat do toho pole stringu,do souboru bych uz to pak nejak zvladnul,ale problem je v tom,ze nyni jsem se zacal venovat prave temto nelinearnim datovym strukturam,pochopil jsem princip ale uz si nedokazi jak ten strom vypsat...a prave ze pomoci gotoxy to byt nemuze,(to mi bylo zakazano,jelikoz jsme to pouzival u vypisu matic).(Proste nejaky jiny zpusob).
Výpis stromových struktur do přehledného stromového formátu jsem nikdy nepotřeboval řešit, ale napsal jsem celý objekt pro práci se stromy. Ukládá se do binárního souboru, ne textového. Možná z toho přesto něco použitelného vytáhneš:
http://www.laaca.borec.cz/soubory/wokna32.rar - v archíve je soubor vaznik.pas a v něm je deklarovaný objekt TStrom, tak se na to když tak mrkni.
To JiriVavru :
Tvorba noveho radku: PoleRetezcu[IndexRadku]:=PrvniCislo+' '+DruheCislo+' '+ atd. (prakticky asi cyklus while); (na zacatku samozrejme musi byt PoleRetezcu[IndexRadku]:='';)
Vlozeni mezery do radku: insert(PoleRetezcu[IndexRadku],' ',pozice) (tady si nejsem jisty poradim parametru, zkontroluj to podle helpu)
Moje stránka.
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Binární strom - vložení jmen, výpis délky — založil tynry
Lidi pls help, ulozeni struktury do txt — založil X3ON
Vypis ze struktury — založil flashback
Výpis souboru do txt — založil Odin
Výpis txt souborů z adresáře — založil Leontynka
Moderátoři diskuze