[SOL] Esercizio n. 16 Array (16_array)
Spiegazione del programma: Somma di numeri pari e dispari
Cosa fa il programma
Questo programma in C++ chiede all'utente di inserire una serie di numeri e calcola separatamente la somma dei numeri pari e quella dei numeri dispari.
Analisi del codice
Inclusioni e dichiarazioni iniziali
#include <iostream>
using namespace std;
- Include la libreria per input/output
- Permette di usare
coutecinsenza scriverestd::
Variabili utilizzate
int n, x;
int sommaPari = 0, sommaDispari = 0;
- n: memorizza quanti numeri l'utente vuole inserire
- x: variabile temporanea per ogni numero inserito
- sommaPari: accumula la somma dei numeri pari (inizializzata a 0)
- sommaDispari: accumula la somma dei numeri dispari (inizializzata a 0)
Input del numero di elementi
cout << "Quanti numeri? ";
cin >> n;
Il programma chiede all'utente di specificare quanti numeri intende inserire.
Ciclo principale
for (int i = 1; i <= n; i++) {
cout << "Numero " << i << ": ";
cin >> x;
if (x % 2 == 0)
sommaPari += x;
else
sommaDispari += x;
}
Il ciclo for si ripete n volte e per ogni iterazione:
- Richiede un numero: mostra "Numero 1:", "Numero 2:", ecc.
- Legge il valore: memorizza il numero inserito nella variabile
x - Verifica se è pari o dispari:
x % 2 == 0controlla se il resto della divisione per 2 è zero- Se è zero → il numero è pari → lo aggiunge a
sommaPari - Altrimenti → il numero è dispari → lo aggiunge a
sommaDispari
Output dei risultati
cout << "Somma valori pari = " << sommaPari << endl;
cout << "Somma valori dispari = " << sommaDispari << endl;
Alla fine mostra le due somme calcolate.
Esempio di esecuzione
Se l'utente inserisce:
- Numero di valori: 4
- Numeri: 3, 8, 15, 22
Il programma calcola:
- Numeri pari: 8 + 22 = 30
- Numeri dispari: 3 + 15 = 18
E stampa:
Somma valori pari = 30
Somma valori dispari = 18
Concetti chiave
- Operatore modulo (%): restituisce il resto della divisione
- Ciclo for: ripete un blocco di codice un numero prestabilito di volte
- Variabili accumulatore:
sommaPariesommaDisparimantengono il totale parziale - Struttura condizionale if-else: decide in quale somma aggiungere ogni numero
#include <iostream>
using namespace std;
int main() {
int n, x;
int sommaPari = 0, sommaDispari = 0;
cout << "Quanti numeri? ";
cin >> n;
for (int i = 1; i <= n; i++) {
cout << "Numero " << i << ": ";
cin >> x;
if (x % 2 == 0)
sommaPari += x;
else
sommaDispari += x;
}
cout << "Somma valori pari = " << sommaPari << endl;
cout << "Somma valori dispari = " << sommaDispari << endl;
return 0;
}