Widzisz wypowiedzi znalezione dla frazy: szablony drzew





Temat: Program genealogiczny - jaki?

Mateusz Prichacz <ad@nieistotny.pl writes:
Czy ktoś może polecić jakiś dobry program do prowadzenia zapisków
genealogicznych i rysowania drzewa, który działa na Linuksie? Znalazłem
sporo takowego oprogramowania, ale wolałbym nie testować wszystkiego. Do
tej pory korzystałem jedynie z windowsowego Fzip Family Tree, więc mam
marne pojęcie o funkcjonalności takiego softu


Ja używam lifelines. Działa w terminalu tekstowym, rekordy edytujesz
dowolnym edytorem, sporo gotowych raportów, szablonów drzew w
PostScripcie albo czystym tekście. Nie było problemów z ogonkami.
Wywietl wicej odpowiedzi z wtku





Temat: Program genealogiczny - jaki?
Zupełnym przypadkiem Michal Sochacki napisał(a):

Ja używam lifelines. Działa w terminalu tekstowym, rekordy edytujesz
dowolnym edytorem, sporo gotowych raportów, szablonów drzew w
PostScripcie albo czystym tekście. Nie było problemów z ogonkami.


No właśnie mam problemy z ogonkami. Generowane raporty w .ps gubią
polskie znaki, stawiane są krzaczki. Można to gdzieś ustawić? Próbuję
przebrnąć prze dokumentację do programu, ale tam prawie nic o raportach
nie ma :(
Wywietl wicej odpowiedzi z wtku





Temat: Struktura drzewiasta - wyszukanie elementów
jestem początkującym programistą stąd takie proste pytanie.
Korzystam z Borland C++ chciałbym wykorzystać jakiś szablon drzewa
binarnego, niestety nie wiem gdzie go znaleć (header file) i jak się on
nazywa (template name).
Wywietl wicej odpowiedzi z wtku



Temat: Niekompletny typ (długie)


To znowu ja...cały czas piszę ten sam projekt na zaliczenie i problemy


Skoro robisz to sam...
BTW: wycinaj szum z przykladow, unikaj oczywistych komentarzy.


piętrzą sie same. No więc mam sobie szablon drzewa BST i szablon
iteratora służącego do biegania po tymże drzewie. Wszystko działa
pięknie, dopuki parametr formalny szablonu nie staje się wskaźnikiem do
chara....(co btw. jest głównym założeniem, bo to drzewo ma przechowywać
postać kanoniczną grafu, czyli string 01). Z racji, że nie można sobie
porównać jednego strigu z drugim po prostu tak:

char * a = "100010101";
char * b = "10100011";
if (a b)


Analiza tego kodu przekracza moj zapal, ale skoro robisz sam...
Jak masz problem z op < () to zamiast char* uzywaj std::string.
Wtedy nie bedziesz musial nic specjalizowac.


bo wynik jest bezsensowny - porównuje tylko pierwszy element tablicy
charowej, to trzeba stworzyć specjalizowaną funkcję do dodawania
elementów do drzewa, która będzie porównywać na zasadzie strcmp(a, b).
To właśnie próbuję zrobić. Kod wygląda następująco.

template <class dane
class iteratorBST; // deklaracja klasy iterator, by klasa BST mogła się
 Â                                                                        // z
nią przyjaźnić

template <class dane
class BST
{      
[...]
public:
[...]
 Â       void dodaj(dane & element)
[...]
 Â                       iteratorBST<danebiegacz(t);


Tu nic nie tworzysz.

[...]


}; // class BST


Jak to jest specjalizacja, to brakuje
template <


void BST<char*::dodaj(char* & element)
{
[...]
****            iteratorBST<char*biegacz(t);
[...]
} // void dodaj(dane & eleent)

Z czego błąd wyskakuje w **** linijce. Nie mogę sobie zdefiniować nowego
iteratora z szablonu do typu char*...nie wiem dlaczego...


Dlatego, ze widac tylko deklaracje.


pisze, że ma
niekompletny typ, a dokładnie to samo robię szablonowo w funkcji
niespecjalizowanej dodaj w samym szablonie BST<dane.


Nie to samo.


Powołuję tam do
życia iterator typu zadanego dane,


Tam nic nie powolujesz do zycia. dane to nie typ a parametr wzorca.


a tu po prostu potrzebuję konkretny -
specjalizowany....nici....


Bo nie widac definicji wzorca, a tylko deklaracje.
Mysl o tym tak: gdy piszesz wzorzec to piszesz w czasie przyszlym.
W definicji wzorca nic nie tworzysz. Podajesz jak utworzyc.
HTH.

Wywietl wicej odpowiedzi z wtku