#include #include #include using namespace std; const int MAX_ARRAY = 1000; void generaNumeriCasuali(int arrayNumeriCasuali[MAX_ARRAY]); void stampaContenutoArray(int arrayNumeriCasuali[MAX_ARRAY]); int calcolaSommaConAccumulatore(int arrayNumeriCasuali[MAX_ARRAY]); double calcolaMedia(int valoreAccumulatore); int calcolaPosizioneMax(int arrayNumeriCasuali[MAX_ARRAY]); int calcolaPosizioneMin(int arrayNumeriCasuali[MAX_ARRAY]); void stampaRisultatiCalcolati(int arrayNumeriCasuali[MAX_ARRAY], int valoreAccumulatore, double valoreMedia, int valorePosizioneMassima, int valorePosizioneMinima); int main() { srand(time(0)); int arrayNumeriCasuali[MAX_ARRAY]; generaNumeriCasuali(arrayNumeriCasuali); //stampaContenutoArray(arrayNumeriCasuali); int accumulatoreCalcolato = calcolaSommaConAccumulatore(arrayNumeriCasuali); double mediaCalcolata = calcolaMedia(accumulatoreCalcolato); int posizioneMassimaCalcolata = calcolaPosizioneMax(arrayNumeriCasuali); int posizioneMinimaCalcolata = calcolaPosizioneMin(arrayNumeriCasuali); stampaRisultatiCalcolati(arrayNumeriCasuali, accumulatoreCalcolato, mediaCalcolata, posizioneMassimaCalcolata, posizioneMinimaCalcolata); return 0; } void generaNumeriCasuali(int arrayNumeriCasuali[MAX_ARRAY]) { for (int i = 0; i < MAX_ARRAY; i++) { int numeroCasuale = (rand() % 1000) + 1; arrayNumeriCasuali[i] = numeroCasuale; } } void stampaContenutoArray(int arrayNumeriCasuali[MAX_ARRAY]) { for (int i = 0; i < MAX_ARRAY; i++) { cout << "Posizione " << i+1 << " numero casuale = " << arrayNumeriCasuali[i] << endl; } } int calcolaSommaConAccumulatore(int arrayNumeriCasuali[MAX_ARRAY]) { int accumulatore = 0; for (int i = 0; i < MAX_ARRAY; i++) { int appoggio = arrayNumeriCasuali[i]; accumulatore = accumulatore + appoggio; } return accumulatore; } double calcolaMedia(int valoreAccumulatore) { return (double)valoreAccumulatore/MAX_ARRAY; } int calcolaPosizioneMax(int arrayNumeriCasuali[MAX_ARRAY]) { int posizioneMax = 0; for (int i = 0; i< MAX_ARRAY; i++) { if (arrayNumeriCasuali[i] > arrayNumeriCasuali[posizioneMax]) { posizioneMax = i; } } return posizioneMax; } int calcolaPosizioneMin(int arrayNumeriCasuali[MAX_ARRAY]) { int posizioneMin = 0; for (int i = 0; i< MAX_ARRAY; i++) { if (arrayNumeriCasuali[i] < arrayNumeriCasuali[posizioneMin]) { posizioneMin = i; } } return posizioneMin; } void stampaRisultatiCalcolati(int arrayNumeriCasuali[MAX_ARRAY], int valoreAccumulatore, double valoreMedia, int valorePosizioneMassima, int valorePosizioneMinima) { cout << "La variabile accumulatore vale: " << valoreAccumulatore << endl; cout << "La media vale: " << valoreMedia << endl; cout << "Valore massimo in posizione " << valorePosizioneMassima+1 << " e vale: " << arrayNumeriCasuali[valorePosizioneMassima] << endl; cout << "Valore minimo in posizione " << valorePosizioneMinima+1 << " e vale: " << arrayNumeriCasuali[valorePosizioneMinima] << endl; }