Inserire ad oltranza numeri interi da tastiera finché non vengono inseriti due numeri uguali consecutivi
Esercizio apparentemente semplice ma richiede la padronanza del ciclo while e l’intuizione sul come “salvare” il vecchio valore di una variabile prima di leggere il successivo.
Altra caratteristica interessante è la scelta del ciclo while invece del do-while. Il ciclo while, avendo la condizione in testa in alcune circostanze può risultare svantaggioso se non viene inizializzata la variabile/condizione in modo esplicito da far entrare almeno una volta il flusso del programma nel ciclo. Qui ad esempio la condizione pone l’uguaglianza tra il numero letto e quello precedente, ma all’inizio sono entrambi nulli quindi occorre un trucco per con il vecchio numero posto a -1.
#include <iostream>
using namespace std;
int main() {
int n = 0;
int vecchion = -1;
while(n != vecchion)
{
vecchion = n;
cout << "Inserisci un numero intero ";
cin >> n;
}
return 0;
}
Possiamo complicare leggermente l’esercizio conteggiando quanti tentativi sono stati fatti prima di trovare i due numeri uguali. Al lettore la soluzione.
Ultima modifica 20 Ottobre 2023