Esercizio liste C

di il
21 risposte

21 Risposte - Pagina 2

  • Re: Esercizio liste C

    Allora proviamo con
    if(p==NULL)
       return 0;
    else
    {
    	while(p)
    	{
    	   p=p->next;
    	}
    }
  • Re: Esercizio liste C

    Sempre il solito errore
  • Re: Esercizio liste C

    Ultimo tentativo, dopodichè mi arrendo e ti consiglio di chiedere al professore, spiegando le prove che hai fatto
    if(p==NULL)
       return 0;
    else
    {
       while(1)
       {
          if(p->next)
    			p=p->next;
          else
            	break;
       }
    }
  • Re: Esercizio liste C

    Solito errore...seguirò il tuo consiglio.
    Grazie dell'aiuto.
  • Re: Esercizio liste C

    Prego. Magari un'ultima prova: forse gli da fastidio che usi (o meglio, modifichi) p (anche se non ha nessun senso): prova ad utilizzare un puntatore locale alla funzione, temporaneo, per fare la visita della lista, es.:
    plist p2;
    if(p==NULL)
       return 0;
    else
    {
        p2 = p;
       while(1)
       {
          if(p2->next)
             p2=p2->next;
          else
               break;
       }
    }
  • Re: Esercizio liste C

    Ho spostato un asterisco e adesso funziona su tutto tranne sul test1



    #include <stdlib.h>
    #include <stdio.h> /* ora puoi usare NULL */

    /* scrivi qui la definizione del tipo "elist" (elemento della lista) con i campi "info" (intero) e "next" (prossimo elemento) */
    typedef struct elist{
    int info;
    struct elist* next;
    }elist;

    /* scrivi qui la definizione del tipo "plist" che e' un riferimento ad un oggetto di tipo "elist" */

    typedef elist *plist;

    /* funzione */

    int valore_massimo_lista(plist p){

    /* scrivi qui il codice che calcola il valore massimo contenuto in una lista
    semplicemente concatenata di interi passata in input e lo ritorna come output.
    Se la lista non ha nessun elemento ritorna zero. */

    if(p==NULL)
    return 0;

    int massimo=p->info;

    while (p!=NULL) {
    if (p->info > massimo)
    massimo = p->info;
    p = p->next;

    }

    return massimo;
    }
  • Re: Esercizio liste C

    Scusa, spiega meglio la modifica che hai fatto.
    Hai modificato il post originario e ora non é neanche possibile capire le modifiche fatte per arrivare a questo risultato.
    Usa i tag CODE per postare codice.
Devi accedere o registrarti per scrivere nel forum
21 risposte