Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    5

    Alberi binari in C

    Ciao a tutti...Avrei bisogno di un aiuto su un esercizio in C...l'esercizio in sintesi si basa su un albero binario in cui in ogni nodo vi sn 2 liste...aiutatemi xfav è molto importante...grazie e fatemi sapere....posto anke un'allegato con l'esercizio completo x ki gli vorrebbe dare un'okkiata

  2. #2
    Se mostri un minimo di impegno credo che troverai molte persone disposte ad aiutarti. Per "un minimo di impegno" intendo qualcosa in più rispetto a postare il testo completo dell'esercizio.

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,464
    E studiare tu?

    Un forum NON funziona cosi' ...

    Prova ad iniziare a scrivere il codice ...

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    5

    scuse

    scusate raga avete ragione...il fatto è ke nn ci arrivavo concettualmente a capire l'es...cmq scusate di nuovo

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    5

    Alberi binari in C

    ciao raga...volevo sapere xkè nn funzia qst prog...cioè funzia ma nn bene...ho cercato in qlk libro ma nn ho avuto risvolti...cmq vi posto il codice...

    #include<stdio.h>
    #include<malloc.h>

    struct nodo{
    int info;
    struct nodo *albSin;
    struct nodo *albDes;
    };
    struct nodo *albBin(void);
    struct nodo *creaNodo(struct nodo *,int);
    void anticipato(struct nodo *);

    main(void)
    {
    struct nodo *radice; //puntatore alla radice dell'albero
    radice=albBin();//invoca la funzione per la creazione dell'albero binario
    printf("\nVISITA IN ORDINE ANTICIPATO\n");
    anticipato(radice);
    //crea l'albero binario.Per ogni etichetta immessa dall'utente,invoca la funzione creaNodo.
    //ritorna al chiamante la radice dell'albero
    }

    struct nodo *albBin(void)
    {
    struct nodo *p=NULL;
    struct nodo x;

    do{
    printf("\nInserire una informazione (0 per finire): ");
    scanf("%d",&x.info);
    if(x.info!=0)
    p=creaNodo(p,x.info);//invoca creaNodo()
    }while(x.info!=0);
    return p; //ritorna la radice
    }
    //visita ricorsivamente l'elbero alla ricerca del punto pi inserimento.quando trova la posizione,crea un nodo,
    //vi inserisce l'etichetta e ritorna il puntatore a tale nodo
    //Parametri in ingresso:
    // p è il puntatore alla radice
    // val è l'etichetta de inserire nel nodo

    struct nodo *creaNodo(struct nodo *p,int val)
    {
    if(p==NULL){ //il punto di inserimento è stato reperito
    //creazione del nodo
    p=(struct nodo *)malloc(sizeof(struct nodo));
    p->info=val;//inserimento di val in elemento
    p->albSin=NULL;//marca di albero sinistro vuoto
    p->albDes=NULL;//marca di albero destro vuoto
    }
    else{
    if(val>p->info)
    //visita il sottoalbero sinistro
    p->albSin=creaNodo(p->albSin,val);
    }
    return(p);//ritorna il puntatore alla radice
    }
    //visita l'albero binario in ordine anticipato

    void anticipato(struct nodo *p)
    {
    if(p!=NULL){
    printf("%d ",p->info);//visita la radice

    anticipato(p->albSin);//visita il sottoalbero sinistro
    anticipato(p->albDes);//visita il sottoalbero destro
    system("pause");
    }
    }

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

    Moderazione

    Visto che si tratta sempre dello stesso argomento, perchè hai aperto una nuova discussione, tra l'altro con lo stesso identico titolo della prima?

    Le ho riunite.


    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

  7. #7
    cioè funzia ma nn bene
    E' buona norma descrivere COSA non funziona, altrimenti costringi chi vuole risponderti a guardare TUTTO il codice (tra l'altro non indentato) oppure a compilarlo e provarlo. Come recita il vecchio adagio: "Aiutati che dio (o più probabilmente qualcuno sul forum) t'aiuta".

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,464
    Ho capito che hai difficolta' nel fare l'esercizio (altrimenti non avresti postato) ma non puoi essere completamente a zero, altrimenti la soluzione non ti servirebbe per capire (e non potresti dimostrare di averla capita).

    Comincia a buttare giu' del codice minimo, fin dove arrivi ...

    EDIT: mentre scrivevo ci sono state due risposte ...

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    5
    scusate raga nn sn pratico di forum...cmq penso di aver risolto il prob...praticamente mi stampava solo il sottoalbero di destra xkè avevo sbagliato un condizione in un if...

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    5
    scusate come si fa ad identare il codice???

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.