Hirdetés

2024. június 18., kedd

Gyorskeresés

Hozzászólások

(#2975) dany27


dany27
őstag

Sziasztok!

Írtam C-ben egy morse kód ellenőrző progit bináris fát használva de egy érdekes anomáliába futottam....
Ha beadom az a kódot neki hogy .-. akkor kidobja hogy ez az R betű kódja... de ha beírom neki azt hogy .-.- akkor azt mondja hogy G pedig ilyen morse küd nem is létezik....
Sőt mi több a G az pont a fa másik oldalán van.... Már a legelelején pont ellentétes irányba kellene elindulni hogy G-t kapjunk... elméletileg a .-.--nak null pointert kéne hogy adjon mivel a .-. az R betű és utánna nincs már semmi sem...

Hol csesztem el?
Ez a rész ellenőrzi hogy van e ilyen morse kód(megpróbálja a beadott kód szerint bejárni a fát):
void check(Fa *gyoker,char kod[7])
{
Fa *hely;
int i=0;
hely=gyoker;
while(kod[i]!='\0')
{
if(kod[i]=='.')
hely=hely->jobb;
else
hely=hely->bal;
i++;
}
if(hely!=NULL)
printf("\n%c",hely->betu);
else
printf("\nA megadott morse kod helytelen!");

}

A fa jól van feltöltve az elemekkel!

Copyright © 2000-2024 PROHARDVER Informatikai Kft.