Problema stampa ciclo while [c++]

di il
1 risposte

Problema stampa ciclo while [c++]

Buongiorno a tutti, sono iscritto al forum da un po' e lo seguo per cercare di risolvere i miei problemi con la programmazione (livello base)

vi pongo un problema del quale non riesco a trovare una soluzione.
sto lavorando sulle liste con vettore.
inserisco una lista da tastiera e la stampo a video.
il problema è che nella stampa, non mi considera l'ultimo elemento della lista, arriva al penultimo, lo stampa e si ferma.
mi aiutate a capire dove sbaglio?
grazie

int n = 0;
    cout << "Creazione della lista L1" << endl;
    cout << "Inserisci " << MAXVETT << " interi nella lista:" << endl; 
    for(int i = 0; i < MAXVETT; i++){
    	l1.inslista(n,i);
        cin >> n;
    }            
                 
    cout << endl;
    cout << "Primolista -> " << l1.leggilista(l1.primolista()) << endl;
    cout << endl;
    
    // Stampa degli elementi della lista L1
    cout << "Stampa della lista L1:" << endl;
    int num = 1;
    while (!l1.finelista(num)){
    	cout << l1.leggilista(num) << " - ";
        num++;
    }
    cout << endl << endl;

1 Risposte

  • Re: Problema stampa ciclo while [c++]

    Molto probabilmente l'inghippo sta nella funzione .finelista(num).
    Non essendoci codice, ipotizzo che ritorni true se num è il numero dell'ultimo elemento della lista: in questo caso, le istruzioni all'interno del tuo ciclo while non vengono eseguite per l'ultimo elemento.
    Puoi ovviare inserendo una successiva stampa alla fine del ciclo, oppure utilizzando un do-while
Devi accedere o registrarti per scrivere nel forum
1 risposte