PROBLEMA Stampare tutti i numeri pari compresi tra 2 numeri

Pubblicità

DJ249810

Nuovo Utente
Messaggi
5
Reazioni
0
Punteggio
24
Ho questo problema, se x ed y sono dei numeri acquisiti da tastiera come faccio a stampare i numeri pari compresi tra di loro?

Io ho fatto questo codice ma non va bene;
void interi::stampa_pari()
{
int x=n;
int x1=m;
cout<<"I numeri pari sono:"<<endl;
for (int i=x; i<x1; i++)
{
if (n%2==0)
cout<<n<<endl;
else
cout<<n+1<<endl;
n++;
}
}
 
Ultima modifica:
potresti vedere se il numero inferiore del range é pari, in tal caso ti basta incrementare di 2 la variabile di controllo del ciclo for e uscire quando supera il valore del secondo numero immesso.
 
Ragioniamo insieme sull'algoritmo: devi creare una funzione che per prima cosa legga due variabili da input. Fin qui ci siamo, basta un cin e stiamo tranquilli.
Ora dobbiamo iniziare a ciclare, perché abbiamo bisogno di controllare tutti i numeri compresi fra i due valori. E anche per questo, il for che hai scritto va benissimo.

Ora, possiamo notare una prima imperfezione nel codice: perché usare la variabile n nell'if? Già la variabile i assumerà un valore che ci serve per ogni ciclata, quindi è inutile usare un'altra variabile.
Notiamo ora un'ulteriore imperfezione: perché c'è il ramo else? In linea teorica non ci serve minimamente, dato che i andrà comunque ad assumere tutti i valori di cui abbiamo bisogno, quindi, in caso di false, ci serve semplicemente continuare con il ciclo.
A questo punto, l'incremento di n non ci serve.
 
edit: ha già risposto l'utente sopra
Comunque pensa in modo più semplice, la funzione che ti serve si scrive in 3 righe volendo
 
Ultima modifica:
Pubblicità
Pubblicità

Discussioni Simili

Indietro
Top