50 lines
1.2 KiB
C++
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;
|
|
}
|