Elaborar tres funciones en C++ para buscar el valor máximo, mínimo y la media de un conjunto de números enteros y positivos.
Teniendo un conjunto de números ordenados, sabemos que la media es el valor que deja el mismo número de datos antes y después que él.
Análisis
Considerando el siguiente conjunto de números enteros y positivos:
![]()
Determinamos que el valor máximo es 703, el valor mínimo es 2 y la media es 10.
Solución
Máximo
Para obtener el valor máximo del conjunto, es necesario recorrer todo el arreglo y comparar sus elementos y asignar el valor más grande a la variable m.
int maximo (int conjunto[], int size) {
int m = 0;
for (int i = 1; i < size; i++) {
if (conjunto[i] > conjunto[m]) {
m = i;
}
}
return conjunto[m];
}Mínimo
Para determinar el valor mínimo solo tenemos que cambiar el signo > por <.
>
int minimo(int conjunto[], int size) {
int m = 0;
for (int i = 1; i < size; i++) {
if (conjunto[i] < conjunto[m])
m = i;
}
return conjunto[m];
}Media
La mediana es el valor de la variable que deja el mismo número de datos antes y después que él estando los datos ordenados.
int media (int conjunto[], int size) {
int i = 0;
int j = 0;
int m = 0;
int count = 0;
for (; (j < size) && (count != size/2); j++) {
count = 0;
m = j;
for (i = 0; i < size; i++) {
if (conjunto[i] > conjunto[m])
count++;
}
}
return conjunto[m];
}Código completo
#include <iostream>
using namespace std;
int minimo(int conjunto[], int size) {
int m = 0;
for (int i = 1; i < size; i++) {
if (conjunto[i] < conjunto[m])
m = i;
}
return conjunto[m];
}
int maximo (int conjunto[], int size) {
int m = 0;
for (int i = 1; i < size; i++) {
if (conjunto[i] > conjunto[m]) {
m = i;
}
}
return conjunto[m];
}
int media (int conjunto[], int size) {
int i = 0;
int j = 0;
int m = 0;
int count = 0;
for (; (j < size) && (count != size/2); j++) {
count = 0;
m = j;
for (i = 0; i < size; i++) {
if (conjunto[i] > conjunto[m])
count++;
}
}
return conjunto[m];
}
int main (int argc, char *argv[])
{
int conjunto[] = {33,703,4,11,2,8,20,10};
cout << minimo(conjunto, 8) << endl;
cout << maximo(conjunto, 8) << endl;
cout << media(conjunto, 8) << endl;
}$ g++ -o Conjunto Conjunto.cpp $ ./Conjunto 2 703 10