Como calcular la media, mediana, y moda

Iniciado por M-Stewart612, 31 Octubre 2018, 06:56 AM

0 Miembros y 1 Visitante están viendo este tema.

M-Stewart612

Hola buenas noches; necesito ayuda para esta instrucción:
Elabore un programa que solicite los datos de 5 estudiantes y muestre la media,
mediana y moda referente a la variable edad.

Esto es lo que llevo del programa:

Código (cpp) [Seleccionar]
[/#include <iostream>
#include <cstdlib>
#include <windows.h>
#include <stdlib.h>

using namespace std;
struct persona{
string nombre;
string apellido;
int edad[5];
char genero;
};
int main()
{
cout<<endl<<"|------------------------------------------------------------------------------------------------|";
cout<<"\n";
cout<<"\t \t \t  HAZ INGRESADO AL CREADOR DE ESTADISTICAS";
cout<<endl<<"|------------------------------------------------------------------------------------------------|";
cout<<"\n";
cout<<"\n";
cout<<"INSTRUCCIONES: para trabajar en esta pagina debe escribir el nombre y la edad de 30 alumnos, de esa manera conocera la 'media', 'mediana' y 'moda' de las edades.";
cout<<"\n";
cout<<endl<<"|------------------------------------------------------------------------------------------------|";
cout<<"\n";
{
persona Estudiantes[5];

//INGRESO DE LOS DATOS DE LOS ALUMNOS

for(int e=0; e<5; e++)
{
cout<<"ingreso datos alumnos \t"<< e + 1;
cout<<"\n";
cout<<"ingreso nombre \t"; cin>>Estudiantes[e].nombre;
cout<<"ingreso apellido \t"; cin>>Estudiantes[e].apellido;
cout<<"ingreso edad \t"; cin>>Estudiantes[e].edad[5];   
cout<<"ingreso genero M/F \t"; cin>>Estudiantes[e].genero;
cout<<"\n";

};
int Estudiantes[e].edad[5];
int media, moda, mediana, total;

for(int i=0; i<5; i++)
{
media=total/5;
total=total+Estudiantes[e].edad[0];
cout<<"El calculo de la media es:"
cin>>media;
};

for(int j=0; j<5; j++)
{
mediana= total=total+Estudiantes[e].edad[0];
cout<<"El calculo de la mediana es:"
cin>>mediana;
};

for(int k=0; k<5; k++)
{
moda=
total=total+Estudiantes[e].edad[0];
cout<<"El calculo de la moda es:"
cin>>moda;

};

system("pause");
return 0;
}
}]


Enserio agradeceré mucho la ayuda que me puedan proporcionar...

AlbertoBSD

#1
Y cual es tu duda?

Creo que tienes algunas fallas en el concepto de estructura.

Donde declaras la estructura de una persona le agregas

int edad[5];


Eso no es logico, debe de ser una edad por persona, Una persona no tiene múltiples edades.

persona Estudiantes[5];

Aquí esta bien, tienes 5 personas bajo la variable llamada estudiantes todo bien aquí.

Pero adelante de ese código.

int Estudiantes[e].edad[5];

Eso no tiene ningun sentido.
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW

M-Stewart612

Bueno ya cambie los errores que me indicaba acerca de la edad; pero ahora utilizando los datos que se almacenen en la EDAD debo encontrar la media, mediana y moda...

Además me marca el error "40   17 [Error] name lookup of 'e' changed for ISO 'for' scoping [-fpermissive]" y no se que hacer para resolverlo... Por favor ayudenme  :-\

Código (cpp) [Seleccionar]
[#include <iostream>
#include <cstdlib>
#include <windows.h>
#include <stdlib.h>

using namespace std;
struct persona{
string nombre;
string apellido;
int edad;
char genero;
};
int main()
{
cout<<endl<<"|------------------------------------------------------------------------------------------------|";
cout<<"\n";
cout<<"\t \t \t  HAZ INGRESADO AL CREADOR DE ESTADISTICAS";
cout<<endl<<"|------------------------------------------------------------------------------------------------|";
cout<<"\n";
cout<<"\n";
cout<<"INSTRUCCIONES: para trabajar en esta pagina debe escribir el nombre y la edad de 30 alumnos, de esa manera conocera la 'media', 'mediana' y 'moda' de las edades.";
cout<<"\n";
cout<<endl<<"|------------------------------------------------------------------------------------------------|";
cout<<"\n";
{

persona Estudiantes[5];
//INGRESO DE LOS DATOS DE LOS ALUMNOS
for(int e=0; e<5; e++)
{
cout<<"ingreso datos alumnos \t"<< e + 1;
cout<<"\n";
cout<<"ingreso nombre \t"; cin>>Estudiantes[e].nombre;
cout<<"ingreso apellido \t"; cin>>Estudiantes[e].apellido;
cout<<"ingreso edad \t"; cin>>Estudiantes[e].edad;   
cout<<"ingreso genero M/F \t"; cin>>Estudiantes[e].genero;
cout<<"\n";

};
int Estudiantes[e].edad;
int media, moda, mediana, total;

for(int i=0; i<5; i++)
{
media=total/5;
total=total+Estudiantes[e].edad;
cout<<"El calculo de la media es:";
cin>>media;
};

for(int j=0; j<5; j++)
{
mediana= total=total+Estudiantes[e].edad;
cout<<"El calculo de la mediana es:";
cin>>mediana;
};

for(int k=0; k<5; k++)
{
moda=
total=total+Estudiantes[e].edad;
cout<<"El calculo de la moda es:";
cin>>moda;

};

system("pause");
return 0;
}
}]