School-Coding-Cpp/sfusi/ElemPariDispariMedia.cpp

51 lines
1.6 KiB
C++

//Patriche Robert Cosmin 3Ain
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
void contaPariDispari(int arr[], int size, int &pari, int &dispari, double &mediaPari, double &mediaDispari);
int main() {
const int DIM = 15;
int numeri[DIM];
srand(time(0));
cout << "Array: ";
for (int i = 0; i < DIM; i++) {
numeri[i] = rand() % 100 + 1;
cout << numeri[i] << " ";
}
cout << endl;
int pari = 0, dispari = 0;
double mediaPari = 0, mediaDispari = 0;
contaPariDispari(numeri, DIM, pari, dispari, mediaPari, mediaDispari);
cout << "Elementi pari: " << pari << ", Media pari: " << mediaPari << endl;
cout << "Elementi dispari: " << dispari << ", Media dispari: " << mediaDispari << endl;
if (mediaPari > mediaDispari)
cout << "La media dei pari è maggiore." << endl;
else if (mediaDispari > mediaPari)
cout << "La media dei dispari è maggiore." << endl;
else
cout << "Le medie sono uguali." << endl;
return 0;
}
void contaPariDispari(int arr[], int size, int &pari, int &dispari, double &mediaPari, double &mediaDispari) {
int sommaPari = 0, sommaDispari = 0;
for (int i = 0; i < size; i++) {
if (arr[i] % 2 == 0) {
pari++;
sommaPari += arr[i];
} else {
dispari++;
sommaDispari += arr[i];
}
}
if (pari > 0) mediaPari = static_cast<double>(sommaPari) / pari;
if (dispari > 0) mediaDispari = static_cast<double>(sommaDispari) / dispari;
}