/* 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 #include #include #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; }