Új hozzászólás Aktív témák
-
thiclyoon
aktív tag
válasz
dabadab
#4013
üzenetére
Tudom, csak az kicsit kihaltabb, gondoltam itt aktívabbak vagytok

Tipikusan persze ahogy kiírtam ide, találtam is egy helyet, ahol azt írták amit te is a NULL-ról, szóval így már nem száll el

Kiíratásnál többféle lehet (amit írtam, az L(eft)-N(ode)-R(ight)), és mivel az adott fában itt "balra" kerülnek a kisebb elemek, "jobbra" a nagyobbak, így növekvő sorrendben fogja kiírni elvileg, és valóban így írja ki, szóval ez okésnak tűnik
+ meglett a db-szám is, ott a return-ben kellett kicsit ügyeskedni, nem magában a kódban. Találtam még néhány elég érdekes feladatot, de most már inkább szenvedek egy kicsit még a rekurzióval, hátha rájövök 
-
thiclyoon
aktív tag
Sziasztok!
Nem rég óta tanulom a C-t és a C++-t. Jelenleg bináris fákkal szórakozok egy ideje, előkerült néhány probléma. Pl. hogyan tudom megszámolni, hogy egy fában hány elem van? (Igazából az átlagukra is szükség lenne, szóval az összeg is kérdéses (egy elem többször is szerepelhet, a db is tárolva van), de azt jobban el tudom képzelni.)
Valamint kódszinten is elvesztem (vagy a kiíratással, vagy a törléssel van a gond. Addig bütyköltem, hogy már teljesen belezavarodtam - átnéztem már stackoverflow-ra és még néhány oldalra is), ha van ötletetek mi a ludas, várom a tanácsokat

(Furcsa lehet a pointer-pointer, de a teljes törléshez szerintem ez kéne. Ja és remélem érthető a kód azért.)
void del(pont ** Head)
{
if (*Head != NULL)
{
del(&((*Head)->Left));
del(&((*Head)->Right));
(*Head)->Left = NULL; //kerdeses hogy kell-e
(*Head)->Right = NULL; //szinten
free(*Head);
}
return;
}illetve
void kiir(pont * Head)
{
if (Head == NULL)
{
return;
}
if (Head->Left != NULL)
{
kiir(Head->Left);
}
printf("%d, %d-szor\n", Head->adat, Head->darab);
if (Head->Right != NULL)
{
kiir(Head->Right);
}
return;
}Futtatáskor a végén (del után) a Head ide mutat: 00794D38 (miért nem nullptr? nem az kéne legyen free után?), valamint nincs se error se warning, csak futás idejű hiba: Exception Thrown (az
if (Head->Left != NULL)sorban akiirfüggvényben). Köszönöm előre is, minden tanács jól jön!
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Telekom mobilszolgáltatások
- Fejhallgató erősítő és DAC topik
- A tajvani chipgyártóknak is beteszi a kaput a Hormuzi-szoros lezárása
- Wise (ex-TransferWise)
- exHWSW - Értünk mindenhez IS
- gban: Ingyen kellene, de tegnapra
- Xiaomi 17 - még mindig tart
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- PlayStation 5
- Okos otthon - Home Assistant, openHAB és más nyílt rendszerek
- További aktív témák...
- Keresek Geforce 2-3-4 titánium, GTX 260 kártyákat
- Sennheiser PXC 550-II aktív zajszűrős fejhallgató eladó
- Bowers & Wilkins Dm 303 EISA díjas audiofil hangfal + Lcr 3 center
- Dell ReadyRails A6 1U Rail Kit R210, R210 II, Dx600G, stb. szerverekhez (JWFR6, W6XNW, YNG10)
- Kingston HyperX Fury 2x4GB 2133MHz DDR4 kit / Beszámítás OK! / Akciós Ár!
- KERESEK: Poly Voyager 4320 M UC USB-C 218478-02M Part number: 77Z30AA
- Lenovo ThinkStation P300 Workstation,i7-4790,8GB DDR3,500GB SATA3 HDD,2GB VGA,WIN11
- Apple iPhone 14 Pro 512GB, Kártyafüggetlen, 1 Év Garanciával
- iPhone 17 Pro 256 GB Kozmosz - Bontatlan !! www.stylebolt.hu - Apple eszközök - Számlás
- Bomba ár! Lenovo X13 Yoga G1 - i5-10G I 8GB I 256SSD I 13,3" FHD Touch I Cam I W11 I Gari!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


+ meglett a db-szám is, ott a return-ben kellett kicsit ügyeskedni, nem magában a kódban. Találtam még néhány elég érdekes feladatot, de most már inkább szenvedek egy kicsit még a rekurzióval, hátha rájövök 

