Controllo esercizio

di il
10 risposte

Controllo esercizio

Ciao a tutti,

volevo sapere se è corretto questo codice siccome non ne sono sicuro:

mi viene chiesto, dopo aver realizzato una struct di questo tipo:

struct cell
{
    string info;
    cell* next;
};
typedef cell* list;

Realizzare una funzione che restituisca true se
tutti gli elementi sono ”ecco”, false altrimenti.

Ho fatto così:

bool verifica(list& l)
{
    info = "ecco";

    //Controllo lista vuota
    if(l == nullptr)
        return 0;

    //Controllo di tutti gli elementi uguali ad "ecco"
    if(l -> next != info)
        return false;

    return true;
}

10 Risposte

  • Re: Controllo esercizio

    Non mi pare che verifichi tutti gli elementi della lista…

  • Re: Controllo esercizio

    Devo scorrere ogni nodo o esiste un metodo?

  • Re: Controllo esercizio

    Nel caso di una lista gestita direttamente bisogna scorrere ogni nodo.

  • Re: Controllo esercizio

    Grazie.

    Ho provato in questo modo:

    bool verifica(list& l)
    {
        //Controllo di tutti gli elementi uguali ad "ecco"
        while((l -> next) != nullptr && (l -> next) -> "ecco" != "ecco")
            return false;
    
        return true;
    }
  • Re: Controllo esercizio

    -> “ecco”

    Che vuol dire? Lo provi il codice che scrivi?

  • Re: Controllo esercizio

    È una stringa. Dovevo per caso mettere dichiarare una nuova varabile stiringa è associare la parola “ecco”?

  • Re: Controllo esercizio

    A che serve mettere un return false nel while? Se il primo nodo non corrisponde, ritorna falso ed esce dalla funzione?

    Devi confrontare il campo info con “ecco”. Puoi anche mettere degli if nel while.

    Nel ciclo devi controllare anche il primo della lista. 

  • Re: Controllo esercizio

    Non hai le idee molto chiare.

    Riprendendo l'invito di oregon: ma almeno il codice lo provi?
    O stai semplicemente scrivendo codice su carta senza testarlo?
    E come sei messo con le basi della programmazione?

  • Re: Controllo esercizio

    04/01/2023 - euscar ha scritto:


    Non hai le idee molto chiare.

    Riprendendo l'invito di oregon: ma almeno il codice lo provi?
    O stai semplicemente scrivendo codice su carta senza testarlo?
    E come sei messo con le basi della programmazione?

    Il codice non lo provo perché sarebbe un esercizio da scrivere solo su carta

  • Re: Controllo esercizio

    Ci può stare che l'esercizio richiesto sia solo su carta, ma se vuoi imparare a programmare (indipendentemente che tu sia alle superiori o all'università) lo devi testare il codice che scrivi. Solo così puoi capire quali errori stai commettendo e al tempo stesso migliorare le tue conoscenze nell'ambito della programmazione.
    O pensi di capire come gira un programma solo attraverso un'analisi teorica? Perché se ti viene insegnato in questa modalità, allora c'è qualcosa che non quadra nel corso che stai frequentando.

Devi accedere o registrarti per scrivere nel forum
10 risposte