[SOL] Esercizio n. 14 Array (14_array)
Spiegazione del Programma: Calcolo di Somma e Media
Questo programma in C++ calcola la somma e la media di una serie di numeri inseriti dall'utente.
Analisi del Codice
#include <iostream>
using namespace std;
int main() {
int n;
cout << "Quanti numeri? ";
cin >> n;
double v[100];
double somma = 0;
for (int i = 0; i < n; i++) {
cout << "Numero " << i + 1 << ": ";
cin >> v[i];
somma += v[i];
}
cout << "Somma = " << somma << endl;
if (n > 0)
cout << "Media = " << somma / n << endl;
return 0;
}
Come Funziona il Programma
1. Preparazione iniziale
int n;- Dichiara una variabile per memorizzare quanti numeri l'utente vuole inserirecout << "Quanti numeri? ";- Chiede all'utente di specificare la quantità di numericin >> n;- Legge la risposta dell'utente
2. Dichiarazione delle variabili
double v[100];- Crea un array che può contenere fino a 100 numeri decimalidouble somma = 0;- Inizializza la variabile che conterrà la somma totale
3. Raccolta dei dati (ciclo for)
Il ciclo for si ripete n volte per:
- Chiedere all'utente di inserire ogni numero
- Salvare il numero nell'array
v[i] - Aggiungere il numero alla somma totale con
somma += v[i]
4. Visualizzazione dei risultati
- Mostra la somma di tutti i numeri inseriti
- Calcola e mostra la media (solo se sono stati inseriti dei numeri)
Esempio di Esecuzione
Quanti numeri? 3
Numero 1: 10.5
Numero 2: 20.0
Numero 3: 15.5
Somma = 46
Media = 15.3333
Caratteristiche Importanti
- Tipo di dati: Usa
doubleper gestire numeri decimali - Controllo di sicurezza: Verifica che
n > 0prima di calcolare la media (evita divisione per zero) - Limitazione: L'array può contenere massimo 100 numeri
- Efficienza: Calcola la somma durante l'inserimento dei dati, non in un ciclo separato
Questo programma è un esempio classico di come utilizzare array e cicli per elaborare una collezione di dati numerici.
#include <iostream>
using namespace std;
int main() {
int n;
cout << "Quanti numeri? ";
cin >> n;
double v[100];
double somma = 0;
for (int i = 0; i < n; i++) {
cout << "Numero " << i + 1 << ": ";
cin >> v[i];
somma += v[i];
}
cout << "Somma = " << somma << endl;
if (n > 0)
cout << "Media = " << somma / n << endl;
return 0;
}