Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    3

    [C] Alberi binari!!! aiutooooo t__t

    Ciao a tutti, sto preparando un esame e ieri provavo ad esercitarmi sugli alberi binari, ho pensato di fare un semplice programmino che richiede l'input di numeri che vengono inseriti in ordine nell'albero binario, cn gli elementi minori o uguali a sinistra e a destra quelli maggiori, e che permetta la visita in-order dell'albero. putroppo non mi funziona bene, e non riesco a capire perche, le funzioni sono tutte ricorsive, e nella funzione di collegamento dei nodi, se notate ho messo la stampa di una lettera "s" se sinistra e "d" se destra, ho fatto cio x vedere quante volte la funzione ricorsiva richimava se stessa, sia per mettere a sinistra che a destra, e ho notato che gli elementi che dovrebbe inserire ad esempio ad un secondo livello dell'albero, li inserisce sempre al primo, visto che la stampa delle lettere me la fa sempre una volta e non due, quindi sono arrivato alla conclusione che ilmproblema sia li, vi metto il link del codice.. spero possiate aiutarmi ,un ciao e un grazie a tutti!

    http://www.zshare.net/download/2057801540fc0c0e/

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304

    Moderazione

    Alcune cose da tenere presente:

    1) Leggere il regolamento prima di postare
    2) Il titolo non è conforme al regolamento
    3) Va bene linkare il codice se questo è troppo lungo, ma almeno posta la parte che ritieni sbagliata.

    Questa discussione la correggo io.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    3

    Ok

    chiedo scusa, la mancata correttezza del messaggio; riguardo alla parte che ritengo errata, il problema e che non so quale sia visto che non mi da un errore di sintassi e cose simili, il compilatore lo compila, il programma parte ma non funziona correttamente!

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    3

    tutto risolto!!!

    Vedo che qui non mi ha saputo aiutare nessuno, in ogni caso sono riuscito a trovare la soluzione, se a qualcuno puo interessare eccovi il codice della funzione di annodamento nell'albero!!

    dati * annoda(dati *radice,dati *elem)
    {

    if(radice==NULL)
    {
    printf(" numero inserito!\n");
    return elem;
    }
    else
    {
    if((elem->num)<=(radice->num))
    {
    printf("\ns");
    radice->sinistra=annoda(radice->sinistra,elem);
    return radice; }
    else
    {
    printf("\nd");
    radice->destra=annoda(radice->destra,elem);
    return radice; }
    }

    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.