Hirdetés
Köszönjük a sok biztatást, támogatást! Utolsó pillanat a féláras hirdetésfeladásra, előfizetésre!
Ú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 akiir
fü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!
- Sütés, főzés és konyhai praktikák
- Bundle topik
- Formula-1
- Autós kamerák
- Gaming notebook topik
- exHWSW - Értünk mindenhez IS
- Azonnali fotós kérdések órája
- Októberben kerülnek legacy státuszba a régebbi GeForce VGA-k
- Azonnali mobilos kérdések órája
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- További aktív témák...
- Samsung Galaxy A52s 5G 128GB 6GB RAM Dual (A528) Mobiltelefon
- Ohh Lenovo ThinkPad P15 G2 Tervező Vágó Laptop -75% 15,6" i5-11500H 32/1TB RTX A2000 4GB /1 Millió/
- Uhh Lenovo ThinkPad P15 G2 Tervező Vágó Laptop -75% 15,6" i5-11500H 16/1TB RTX A2000 4GB /1 Millió/
- Call of Duty WW2 PS4 játék
- Eladó Konfig I5-10400F 32GB DDR4 256GB SSD 1TB HDD RX6600 8GB!
- Samsung Galaxy A13 64GB, Kártyafüggetlen, 1 Év Garanciával
- NYÁRI BOMBA AKCIÓK! PSN, STEAM, UBISOFT CONNECT, EA APP, XBOX EREDETI KULCSOK 100% GARANCIA
- Lenovo Thunderbolt 3 kábel (4X90U90617)
- Gamer PC-Számítógép! Csere-Beszámítás! I5 14400F / RX 6900XT 16GB / 32GB DDR5 / 1TB SSD
- HIBÁTLAN iPhone 13 512GB Starlight -1 ÉV GARANCIA - Kártyafüggetlen, MS3078, 100% Akkumulátor
Állásajánlatok
Cég: FOTC
Város: Budapest