Título: Necesito ayuda con mi código help Publicado por: gabrielgjha1 en 15 Julio 2017, 19:01 pm Muy buenas tardes, espero que estén teniendo un buen día era para saber si me podrían ayudar con mi código que tenga mas de 1 moda, osea que si tengo 1 2 2 3 3 4 4 en un vector que me diga que la moda fueron 2,3 y 4 llevo un buen rato tratando y no lo consigo implementar solo me dice 1 moda y cuando no existe, aqui les dejo el codigo
Código
Título: Re: Necesito ayuda con mi código help Publicado por: Serapis en 16 Julio 2017, 02:20 am Código: array Modas() = Funcion ContarPresencias(array Numeros() ) Nota sin embargo que esta solución al usar parcialmente el algoritmo counting, tiene algunas serias limitaciones: --- solo vale para números, no para cadenas. --- solo vale para enteros, no para decimales (no es dle todo cierto, pero sería costoso multiplicar todos los números para convertirlos en enteros) --- si el valor mayor del array es gigante, será costoso en memoria, ya se necesita memoria auxilair del array de contar presencia de cada valor desde 0 hasta el mayor valor hallado en el array. por ejemplo si tienes un array de 5 elementos y sus valores son estos: 5,6,76543210,16,84, exige crear un array de 76543211 elementos... --- si hay valores negativos, es costoso, exige buscar el valor menor, sumar ese valor a todos, para hacer el menor igual a 0, y al final restar ese valor al consignar los valores en el array 'm'... Ahora bien, si es algo simple como el ejemplo que has puesto cumple perfectamente tus necesidades... ----------------------------------------- p.d.: modificado, para indicar la salida que daría la función con tus datos de ejemplo como entrada. OJO: Solo indica los valores de moda, no la frecunecia alcanzada en la moda. Si fuere preciso esto, podría devolverse dicho valor en un índice más (el último en el array)... y los cambios al código serían estos: Citar Redimensionar Array m(0 a Modas) y... Citar Hacer Mientras (modas > 0) k = 0 m(Modas) =n Hacer Mientras (modas > 0) array con 4 elementos y estos serían sus valores: m(0) = 4 , m(1) = 3 , m(2) = 2 y la cuenta de moda: m(3) = 3 |