Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    62

    [C] Conteggio delle istanze di un array di liste con doppi puntatori.

    Come da titolo, mi serve il codice per il conteggio delle istanze di un array di liste con doppi puntatori....

    Prego di non basarvi su quello che ho fatto io (che e' sbagliato):


    codice:
    #include <stdio.h>
    #include <stdlib.h>
    
    struct elemento
    {
        int  valore1;
        char valore2;
        struct elemento *prec;
        struct elemento *next;
    };
    
    struct element
    {
        struct elemento lista[4];
        struct element *prec;
        struct element *next;
    };
    
    struct element array;
    struct element *testa=NULL;
    
    void contaIstanze()
    {
        int contatore=0;
        struct element *temp1=testa;
        struct element *temp2=temp1;
        while(temp1->next!=NULL)
        {
            while(temp2->lista.next!=NULL)
            {
                contatore++;
                temp2=lista.next;
            }
            temp1=temp1->next;
        }
    }

  2. #2
    Utente bannato
    Registrato dal
    Oct 2010
    Messaggi
    1,219
    Cosa c'è di sbagliato in questo codice?

  3. #3

    Re: [C] Conteggio delle istanze di un array di liste con doppi puntatori.

    Originariamente inviato da RIACK
    ...mi serve il codice per il conteggio delle istanze di un array di liste con doppi puntatori....
    Questo tipo di espressioni non sono ben viste nel forum

    Che tipo di problema riscontri? Ricevi un errore in particolare?

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    62
    in effetti mi sono espresso male....ma di certo non chiedevo a qualcuno di elaborarlo e postarlo...

    cmq nel compilare il mio codice, vengono fuori questi errori:
    In function `contaIstanze':
    request for member `next' in something not a structure or union
    `lista' undeclared (first use in this function)
    (Each undeclared identifier is reported only once
    for each function it appears in.)


    P.S. ma cmq il codice l'ho sviluppato senza ragionarci minimamente....se va bene meglio così
    Quindi, anche se l'array e di liste con doppi puntatori, io posso cmq utilizzarne solo uno (next) per il conteggio giusto?

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    62
    Ho ricontrollato il mio codice e di fatti era errato.....ecco il nuovo codice:
    (ricordo che se avete idee completamente diverse per contare le istanze di un array di liste con doppi puntatori, postata pure.......)

    codice:
    #include <stdio.h>
    #include <stdlib.h>
    
    struct elemento
    {
        int  valore;
        struct elemento *prec;
        struct elemento *next;
    };
    
    struct element
    {
        struct elemento *testa;
        struct element  *prec_lista;
        struct element  *next_lista;
    } *head=NULL;
    
    /* Esecuzioni di diverse funzioni che portano ad avere 5 liste (variabili
     * di tipo struct elemento), e un array di 4 elementi (di tipo struct element).
     * Quindi head punta al primo elemento dell'array....                       */
    
    void contaIstanze()
    {
        int contatore=0;
        struct element *temp1=head;
        struct element *temp2;
        while(temp1!=NULL)
        {
            temp2=temp1->testa;
            while(temp2!=NULL)
            {
                contatore++;
                temp2=temp2->next;
            }
            temp1=temp1->next_lista;
        }
    }


    Gli errori (quelli che da il compilatore) sono i seguenti:
    In function `contaIstanze':
    - [Warning] assignment from incompatible pointer type;
    - structure has no member named `next'.

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,301
    Originariamente inviato da RIACK
    ecco il nuovo codice (in cui c'e' qualcosa che non va):
    Sì, bene... ma continui a non dire cosa c'è che non va, quali errori vengono sollevati, quali eventuali risultati errati ottieni.

    Non puoi limitarti a dire "c'è qualcosa che non va"...


    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
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    62
    ora gli ho riportatisotto il codice....

  8. #8
    Utente bannato
    Registrato dal
    Oct 2010
    Messaggi
    1,219
    testa è un puntatore a elemento,temp1 e temp2 sono puntatori a element.
    Tu fai puntare temp1 allo stesso indirizzo di testa,ma sono due puntatori incompatibili.

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.