Para calcular la MODA puedes usar map<int, int> en lugar de vector<int>... y con una iteración puedes obtener el elemento con mayor cantidad...
edad NO ES UN ARRAY!¡, mejor lee un manual/tutorial/guia al respecto.
Dulces Lunas!¡.
edad NO ES UN ARRAY!¡, mejor lee un manual/tutorial/guia al respecto.
Código (cpp,3,20,22,23,24,31,35) [Seleccionar]
int main(){
int edad,personas,i,j,aux,suma_edad;
int moda,frecuencia,frecuencia_moda;
cout<<"introduzca el numero de personas"<<endl;
cin>>personas;
vector<int>v(personas);
for(i=0;i<v.size();i++)
{
cout<<"introduzca las edades"<<endl;
cin>>edad;
v[i]=edad;
}
//moda
for(i=0;i<personas-1;i++)
for(j=0;j<personas-i;j++)
if(edad[j]>edad[j+1])
{
aux=edad[j];
edad[j]=edad[j+1];
edad[j+1]=aux;
}
frecuencia=0;
frecuencia_moda=0;
moda=-1;
for(i=0;i<personas-1;i++)
if(edad[i]==edad[i+1])
if(++frecuencia>frecuencia_moda)
{
frecuencia_moda=frecuencia;
moda=edad[i];
}
else
frecuencia=0;
system("PAUSE");
return 0;
}
Código (cpp) [Seleccionar]
#include <iostream>
#include <map>
using namespace std;
int main(){
map<uint32_t, uint32_t> cantMap;
map<uint32_t, uint32_t>::iterator maxEdad;
uint32_t cantPersonas,
edad;
cout << "introduzca el numero de personas" << endl;
cin >> cantPersonas;
cout<<"introduzca las edades"<<endl;
for (uint32_t i = 0;
i < cantPersonas;
++i)
{
cout << "Edad Numero: " << i << endl;
cin >> edad;
cantMap[edad]++;
}
maxEdad = cantMap.begin();
/**
Calcular moda con un For mira este enlace y a ver si se te prende el foco:
http://www.cplusplus.com/reference/map/map/begin/
*/
cout << maxEdad->first << " => " << maxEdad->second << endl;
cin.sync();
cin.get();
return 0;
}
Dulces Lunas!¡.