92 lines
2.1 KiB
C++
92 lines
2.1 KiB
C++
/*
|
|
Nome: Mario
|
|
Cognome: Montanari
|
|
Classe: 3AIN
|
|
|
|
Scrivi una funzione che ricevuto come
|
|
parametro un array di interi e la sua
|
|
dimensione, restituisca una struct
|
|
contenente il valore massimo, la media,
|
|
il numero di coppie.
|
|
*/
|
|
|
|
#include <iostream>
|
|
#include <ctime>
|
|
#include <cstdlib>
|
|
|
|
#define SIZE 10
|
|
#define MASSIMO 99
|
|
#define MINIMO 0
|
|
|
|
using namespace std;
|
|
|
|
typedef struct {
|
|
int valoreMassimo;
|
|
float media;
|
|
int numeroDiCoppie;
|
|
int array[SIZE];
|
|
} arrayDiInteri;
|
|
|
|
arrayDiInteri riempiArray();
|
|
int calcolaValoreMassimo(int arr[], int size);
|
|
float calcolaMedia(int arr[], int size);
|
|
int calcolaNumeroDiCoppie(int arr[], int size);
|
|
|
|
int main() {
|
|
arrayDiInteri dati = riempiArray();
|
|
|
|
dati.valoreMassimo = calcolaValoreMassimo(dati.array, SIZE);
|
|
dati.media = calcolaMedia(dati.array, SIZE);
|
|
dati.numeroDiCoppie = calcolaNumeroDiCoppie(dati.array, SIZE);
|
|
|
|
cout << "Array generato: ";
|
|
for (int i = 0; i < SIZE; i++) {
|
|
cout << dati.array[i] << " ";
|
|
}
|
|
cout << endl;
|
|
|
|
cout << "Valore massimo: " << dati.valoreMassimo << endl;
|
|
cout << "Media: " << dati.media << endl;
|
|
cout << "Numero di coppie: " << dati.numeroDiCoppie << endl;
|
|
|
|
return 0;
|
|
}
|
|
|
|
arrayDiInteri riempiArray() {
|
|
arrayDiInteri dati;
|
|
srand(time(NULL));
|
|
for (int i = 0; i < SIZE; i++) {
|
|
dati.array[i] = rand() % (MASSIMO - MINIMO + 1) + MINIMO;
|
|
}
|
|
return dati;
|
|
}
|
|
|
|
int calcolaValoreMassimo(int arr[], int size) {
|
|
int valoreMassimo = arr[0];
|
|
for (int i = 1; i < size; i++) {
|
|
if (arr[i] > valoreMassimo) {
|
|
valoreMassimo = arr[i];
|
|
}
|
|
}
|
|
return valoreMassimo;
|
|
}
|
|
|
|
float calcolaMedia(int arr[], int size) {
|
|
int somma = 0;
|
|
float media = 0;
|
|
for (int i = 0; i < size; i++) {
|
|
somma += arr[i];
|
|
}
|
|
media = (float)somma / size;
|
|
return media;
|
|
}
|
|
|
|
int calcolaNumeroDiCoppie(int arr[], int size) {
|
|
int numeroDiCoppie = 0;
|
|
for (int i = 0; i < size - 1; i++) {
|
|
if (arr[i] == arr[i + 1]) {
|
|
numeroDiCoppie++;
|
|
}
|
|
}
|
|
return numeroDiCoppie;
|
|
} |