Pagina 2 di 6 primaprima 1 2 3 4 ... ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 54
  1. #11
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Vuoi dire che il campo

    value di nodolista

    punta ad un nodo?

  2. #12
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    322
    Originariamente inviato da oregon
    Vuoi dire che il campo

    value di nodolista

    punta ad un nodo?
    allora..

    io sono in una funzione dove ho come parametro in input un puntatore a un nodo: *root

    questo nodo root ha nel suo campo children una lista (list children).

    questa lista contiene altri nodi (in pratica č un albero n-ario).

    il mio problema č che riesco a vedere questi nodi "figli" infatti riesco a contarli.. ma non riesco ad accedere ai loro campi interni, come il campo name..

  3. #13
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    322
    io pensavo di poter accedere al nodo contenuto nella lista children in questo modo:

    node figlio = (node)root->children->value;

    printf("%s\n",figlio->name);

    ma quando vado a stampare mi stampa: ų²

  4. #14
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Allora

    node FIGLIO = (node)(PADRE->children->value);

    printf("%s\n", FIGLIO->name);


    P.S. Ovviamente parto dal presupposto che le strutture a cui punti (sia la lista che la stringa name, esistano e siano allocate ...)

  5. #15
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    322
    Originariamente inviato da oregon
    Allora

    node FIGLIO = (node)(PADRE->children->value);

    printf("%s\n", FIGLIO->name);
    abbiamo scritto la stessa cosa.. ma non funziona..mistampa quel valore strano ų²

    possibile che non va bene perche padre (o root come ho scritto io) non č un nodo ma un puntatore a un nodo??

    ps: si si č tutto gia allocato ed esistente..

  6. #16
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Originariamente inviato da jacopos81
    abbiamo scritto la stessa cosa.. ma non funziona..mistampa quel valore strano ų²

    possibile che non va bene perche padre (o root come ho scritto io) non č un nodo ma un puntatore a un nodo??
    L'accesso e' corretto ...

    Devi pero' essere sicuro che le strutture collegate tramite i puntatori siano state create ed esistano in memoria.

    Come hai creato root, la lista e il nodo collegato nella lista? Il problema e' nella creazione ...

  7. #17
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    322
    l'albero sono sicuro che č creato correttamente, anche perche fatto tramite delle funzioni di inserimento, fatte dal prof..

  8. #18
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Non per contraddirti ma il problema non e' nell'accesso al nodo figlio (perche' si fa in quel modo) ...

    Il problema e' nel contenuto del nodo figlio ... insomma, secondo me il problema e' nell'inserimento ...

    Fai un progetto di test che crea un solo elemento figlio e la stringa name dell'elemento figlio e provalo ...

  9. #19
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    322
    provo a fare questo test..

  10. #20
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Guarda ... ho scritto queste linee di codice preparando correttamente le strutture e accedendo come ti ho detto ... e naturalmente funziona ...

    codice:
       node l = new _node;
       l->name = new char[20];
       strcpy(l->name, "Paolo Rossi");
    
       list nl = new NodoLista;
       nl->value = l;
       nl->next = NULL;
    
       node root = new _node;
       root->children = nl;
    
       //////////////////////////////////////////
       node FIGLIO = (node)root->children->value;
       printf("%s\n", FIGLIO->name);
       //////////////////////////////////////////
    
       delete nl;
       delete l;
       delete root;
    Ho solo fatto la distinzione nel nome della struttura _node e quella del suo puntatore node, ma non e' questo il problema.

    Se non usi C++ ma C, allora usa malloc e free ...

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 © 2026 vBulletin Solutions, Inc. All rights reserved.