Modificare campo in una lista

di il
24 risposte

24 Risposte - Pagina 2

  • Re: Modificare campo in una lista

    Mostra il codice con le linee suggerite che non stampa
  • Re: Modificare campo in una lista

    struct elemento *media(struct elemento *p){
    int somma;
    float m=0.0;
    
     while(p!=NULL){
      somma=p->inf;
      if(p->next){
       somma+=p->next->inf;
       m=somma/2.0;
       p->inf2=m;
       p=p->next;
      }
     }
    return p;
    }
    Così non mi stampa nulla. Se tolgo le parentesi stampa NULL
  • Re: Modificare campo in una lista

    La if che ti ho suggerito esegue una sola istruzione non tutto il blocco tra parentesi.
  • Re: Modificare campo in una lista

    struct elemento *media(struct elemento *p){
    int somma=0;
    float m=0.0;
    
     while(p!=NULL){
      somma=p->inf;
      if(p->next!=NULL){
       somma+=p->next->inf;
      }
       m=somma/2.0;
       p->inf2=m;
       p=p->next;
      }
    return p;
    }
    Ma se lo metto così mi stampa solo NULL, per questo avevo messo tutto il blocco nel controllo dell'if
  • Re: Modificare campo in una lista

    Ne, non può essere. Hai ricompilato?
  • Re: Modificare campo in una lista

    struct elemento *media(struct elemento *p){
    int somma=0;
    float m=0.0;
    
     while(p!=NULL){
      somma=p->inf;
      if(p->next!=NULL){
       somma+=p->next->inf;
      }
       m=somma/2.0;
       p->inf2=m;
       printf(" %d-%.1f -->", p->inf, p->inf2);
       p=p->next;
      }
    return p;
    }
    Se effettuo la stampa ad ogni singola modifica la lista stampata è corretta, se invece voglio stampare successivamente tutta la lista mi stampa NULL.
  • Re: Modificare campo in una lista

    Questo succede perché la funzione non è void.

    Perché mai restituisci il puntatore? Non lo fare.
  • Re: Modificare campo in una lista

    Ok, ti ringrazio per l'aiuto e la pazienza
  • Re: Modificare campo in una lista

    Ora funziona? Capito il problema?
  • Re: Modificare campo in una lista

    Si si ho modificato la funzione facendola diventare di tipo void. Pensavo che quando viene modificata la lista poi deve essere restituita
Devi accedere o registrarti per scrivere nel forum
24 risposte