diff --git a/struct/max_media_duplicati.cpp b/struct/max_media_duplicati.cpp new file mode 100644 index 0000000..fd51b87 --- /dev/null +++ b/struct/max_media_duplicati.cpp @@ -0,0 +1,49 @@ +/* +AUTORE: Manuel Vichi +Struct con valore massimo, media e valori duplicati +*/ +#include +#include +#include +#include +using namespace std; +typedef struct { + int max; + int duplicati; + float media; +} Risultati; + +Risultati analizzaArray(const int array[], size_t size) { + Risultati risultati = {array[0], 0, 0.0f}; + int somma = 0,duplicati = 0; + for (size_t i = 0; i < size; i++) { + if (array[i] > risultati.max) + risultati.max = array[i]; + somma += array[i]; + } + risultati.media = somma/size; + for (size_t i = 0; i < size; i++) + for (size_t j = i + 1; j < size; j++) + if (array[i] == array[j]) { + duplicati++; + break; + } + risultati.duplicati = duplicati; + return risultati; +} + +int main(void) { + size_t num; + cout << "Inserisci il numero di numeri da memorizzare nell'array: "; + cin >> num; + cout << endl; + int array[num]; + for (size_t i = 0; i < num; i++) { + cout << "Inserisci il numero da memorizzare nell'array: "; + cin >> array[i]; + cout << endl; + } + Risultati risultati = analizzaArray(array,num); + cout << "Valore massimo: " << risultati.max << endl << "Valori duplicati: " << risultati.duplicati << endl << "Media: " << risultati.media << endl; + return 0; +}