Así que estoy tratando de hacer un programa básico para aprender los conceptos básicos de C++, estoy generando 100 números aleatorios del 0 al 100 y almacenándolos en un vector, entonces estoy mostrando la suma, media, mediana, modo, alto y bajo del vector. Tengo todo lo demás hecho, excepto el modo que es donde me quedo atascado. Aquí está el código que tengo hasta ahora.Encontrar el modo del vector de Ints en C++
int modeFunction()
{
numMode = 0;
count = 0;
for (int n = 0; n < 100; n++)
{
for (int y = 0; y < 100; y++)
{
if (numVector.at(y) == numVector.at(n))
{
numMode = numVector.at(y);
count++;
}
}
}
return numMode;
}
Después de eso me quedo atascado porque en mi opinión eso debería funcionar, pero no es así. Acaba de poner el último número, generalmente 100. Cualquier ayuda sería muy apreciada.
si '' myVector' es un std :: vector '(parece que al menos), se puede indexar como si fuera una matriz:' myVector [y] 'y' myVector [n] 'se produce lo mismo que la versión 'myVector.at', pero se ve mejor. :) –
Xeo
@Xeo: la diferencia es que 'at' tiene un comportamiento definido cuando el índice está fuera de rango. Podría decirse que 'operator []' es una micro-optimización, aunque como dices también es una diferencia de estilo. –
@Steve: Ah, gracias por ese bocado.:) No se molestó con 'at' todavía, pero una matriz normal también tiene un comportamiento indefinido para el acceso fuera de rango, aunque ciertamente es bueno haber definido comportable cuando lo necesita. :) – Xeo