59 lines
1.6 KiB
C++
59 lines
1.6 KiB
C++
//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;
|
|
}
|