Funzione lista c++

di il
3 risposte

Funzione lista c++

Ciao! Ho questo codice:
struct nodo {
   int valore;
   nodo* succ;
}

class Lista {
   nodo* l;
   ....
   ....
public: 
   ....
}
Devo aggiungere una funzione membro che restituisce gli elementi dispari dalla lista passata come argomento. Ho scritto una bozza di codice e non so se vada bene:
nodo* elementi_dispari (Lista& l1)
{
   nodo* ld;
   if(l1==0)
      return 0;
   else if ( (l1->valore%2) == 0)
      ld=elementi_dispari(l1->succ);
   else
   {
      ld=l1;
      l1=l1->succ;
      ld->elementi_dispari(l1)
   }
   return ld;
}

3 Risposte

  • Re: Funzione lista c++

    Ma hai provato a compilarlo almeno? Ad occhio si vedono gli errori. Se passi una variabile per riferimento l'operatore -> non è valido. ma stai passando una lista o un nodo?
  • Re: Funzione lista c++

    Credo di aver capito! Per far funzionare il codice in questo modo gli devo passare un puntatore al nodo o no? E se invece voglio passare una lista e come tipo di ritorno avere una lista come posso fare?
  • Re: Funzione lista c++

    Secondo me stiamo su due pianeti diversi. Non capisco perché devi iniziare a studiare le classi se non ti sono chiare le nozioni basilari. Non ti sto parlando da moderatore ma da uno che cerca di aiutarti, ma aiutarti significa dirigerti verso la strada giusta e non farti l'esercizio.
    In primis siccome stai passando un oggetto per riferimento questo oggetto non può mai essere nullo quindi il controllo del primo if non ha senso. Poi ti ho chiesto se hai compilato il tuo codice, non ho avuto risposta. Se l'avessi compilato ti saresti accorto che non si compila proprio perche ci sono degli errori concettuali.
Devi accedere o registrarti per scrivere nel forum
3 risposte