//Patriche Robert Cosmin 3Ain
/* Dato un vettore di 15 numeri interi casuali, scrivere un programma che calcola la media aritmetica,
 poi la sostituisce a tutti gli elementi del vettore maggiori di essa.*/
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;

// Funzione per calcolare la media aritmetica di un array
double calcolaMedia(int arr[], int size) {
    double somma = 0;
    for (int i = 0; i < size; i++) {
        somma += arr[i];
    }
    return somma / size;
}

// Funzione per sostituire gli elementi maggiori della media
void sostituisciConMedia(int arr[], int size, double media) {
    for (int i = 0; i < size; i++) {
        if (arr[i] > media) {
            arr[i] = media; // Conversione a intero
        }
    }
}

// Funzione principale
int main() {
    const int DIM = 15;
    int numeri[DIM];

    // Inizializza il generatore di numeri casuali
    srand((time(0)));

    // Popola l'array con numeri casuali tra 1 e 100
    cout << "Array originale: ";
    for (int i = 0; i < DIM; i++) {
        numeri[i] = rand() % 100 + 1;
        cout << numeri[i] << " ";
    }
    cout << endl;

    // Calcola la media
    double media = calcolaMedia(numeri, DIM);
    cout << "Media aritmetica: " << media << endl;

    // Sostituisce gli elementi maggiori della media
    sostituisciConMedia(numeri, DIM, media);

    // Stampa l'array modificato
    cout << "Array modificato: ";
    for (int i = 0; i < DIM; i++) {
        cout << numeri[i] << " ";
    }
    cout << endl;

    return 0;
}
