School-Coding-Cpp/struct/max_media_duplicati.cpp

50 lines
1.2 KiB
C++

/*
AUTORE: Manuel Vichi
Struct con valore massimo, media e valori duplicati
*/
#include <iostream>
#include <array>
#include <vector>
#include <cstdlib>
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;
}