Hirdetés

Új hozzászólás Aktív témák

  • 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!

Új hozzászólás Aktív témák