Concetti Chiave
- Il programma genera un array di 100 interi casuali, con un range determinato dall'input dell'utente.
- La classe Numeri include metodi per calcolare il minimo, il massimo e la media dei valori nell'array.
- Il costruttore della classe Numeri inizializza l'array usando il tempo corrente per generare numeri casuali.
- Il metodo minNum() identifica il valore minimo nell'array scorrendo tutti gli elementi.
- La funzione main gestisce l'input dell'utente per determinare il limite massimo dei numeri casuali.
Data la costante NUM_SIZE = 100, implementare un programma in grado di generare un array di NUM_SIZE interi casuali (dove il range dei numeri casuali viene richiesto in input all’utente), e visualizzare il minimo, il massimo e la media dei valori di tale array.
Fare uso della seguente classe Numeri:
class Numeri {
private:
enum {NUM_SIZE=100};
int num[NUM_SIZE];
public:
Numeri(int base);
int minNum() const;
int maxNum() const;
double media() const;
};
Implementazione del costruttore
Numeri::Numeri(int base)
{
time_t timer;
srand(time(&timer));
for (int i=0; i
{
num = rand() % base + 1;
}
}
int Numeri::minNum() const
{ int min =
num[0];
for (int i=1; i
{
if (num
min = num;
}
return min;
}
Calcolo del massimo
int Numeri::maxNum() const
{
int max = num[0];
for (int i=1; i
{
if (num > max)
max = num;
}
return max;
}
double Numeri::media() const
{ int sum =
0;
for (int i=0; i
{
sum += num;
}
return sum/NUM_SIZE;
}
Funzione main
int main()
{ int base;
cout
cin >> base;
// creazione oggetto Numeri:
Numeri n(base);
cout
cout
cout
return 0;
}
Domande da interrogazione
- Come viene generato l'array di numeri casuali nella classe Numeri?
- Quali metodi sono implementati per calcolare il minimo, il massimo e la media dei valori nell'array?
- Come viene gestito l'input dell'utente nel programma?
L'array di numeri casuali viene generato nel costruttore della classe Numeri. Utilizzando la funzione srand() per inizializzare il generatore di numeri casuali con il tempo corrente, vengono poi generati NUM_SIZE numeri casuali con rand() % base + 1, dove base è il limite superiore fornito dall'utente.
La classe Numeri implementa tre metodi: minNum() per calcolare il minimo, maxNum() per calcolare il massimo e media() per calcolare la media dei valori nell'array. Ogni metodo scorre l'array per determinare il valore richiesto.
L'input dell'utente viene gestito nella funzione main. Viene richiesto all'utente di inserire un valore per 'base', che determina il range massimo dei numeri casuali generati. Questo valore viene poi passato al costruttore della classe Numeri per creare l'array.