Título: Problema con un arreglo al devolver 5 valores maximos de un ramdom Publicado por: wnavashn en 14 Septiembre 2013, 22:18 pm Me gustaría me ayudaran con este código ya que no veo como resolver el problema planteado acá.
Citar Ejercicio 3 Elaborar un método que imprima los cinco elementos más grandes de un arreglo de n enteros Yo tengo este codigo que hasta ahorita me duelve 2 valores pero no encuentro como hacer para que me devuelva 5 valores distintos y ordenados de mayor a menor. Código
Esto es lo que me devuelve al ejecutarlo Citar Longitud del arreglo: 5 Los valores mas altos son: 96 0 0 0 0 Los valores mas altos son: 96 91 91 0 0 Los valores mas altos son: 96 68 68 0 0 Los valores mas altos son: 96 48 48 0 0 Los valores mas altos son: 96 7 7 0 0 BUILD SUCCESSFUL (total time: 3 seconds) Gracias por la AYUDA!!! Título: Re: Problema con un arreglo al devolver 5 valores maximos de un ramdom Publicado por: Zoik en 14 Septiembre 2013, 23:45 pm Acabarias antes ordenando la array con el método de la burbuja y cogiendo los 5 últimos, busca información sobre el tema.
Puedes empezar por aqui: http://puntocomnoesunlenguaje.blogspot.com.es/2012/07/metodo-de-ordenacion-burbuja.html Un saludo. Título: Re: Problema con un arreglo al devolver 5 valores maximos de un ramdom Publicado por: Zoik en 15 Septiembre 2013, 14:43 pm Prueba con esto dentro de tu for en la línea 33.
Código
Un saludo Título: Re: Problema con un arreglo al devolver 5 valores maximos de un ramdom Publicado por: ~ Yoya ~ en 16 Septiembre 2013, 01:12 am Haz una función que devuelva el numero mas alto de un arreglo.
Luego que hayas creado la función, utilizas un for que se repita 5 veces y en cada repetición guardas el numero mas alto y lo borras del array, de forma que en el próximo ciclo del for no aparezca ese numero sino el que le sigue mas alto. Saludos. Título: Re: Problema con un arreglo al devolver 5 valores maximos de un ramdom Publicado por: Mitsu en 16 Septiembre 2013, 05:46 am Hola. No necesitas ordenar el array por el método de la burbuja, para eso tienes en la API el método sort que ordena un vector de mayor a menor. Una vez ordenados, con un simple for, guardas los 5 primeros (mayores) números del array ya ordenado.
Código
Saludos. Título: Re: Problema con un arreglo al devolver 5 valores maximos de un ramdom Publicado por: 1mpuls0 en 23 Septiembre 2013, 20:39 pm Se supone que este tipo de ejercicios es para desarrollar la lógica, así que no creo que un método de ordenación nativo del lenguaje o creado sea recomendado (aunque claro está el usuario no indica un método para solucionarlo).
Me voy más como lo propone ~ Yoya ~ Saludos. Título: Re: Problema con un arreglo al devolver 5 valores maximos de un ramdom Publicado por: Mitsu en 23 Septiembre 2013, 23:08 pm Se supone que este tipo de ejercicios es para desarrollar la lógica. Tienes razón. @wnavashn: Aquí el lenguaje es irrelevante. Se debe analizar el problema y hacer el algoritmo primero, no analizar y codificar al mismo tiempo (déjate eso para cuando tengas bastante experiencia). Tienes que ir por etapas. Analiza -> Realiza tu algoritmo -> Pásalo a un lenguaje de programación. Título: Re: Problema con un arreglo al devolver 5 valores maximos de un ramdom Publicado por: kurupi13 en 1 Octubre 2013, 23:34 pm una vez me toco hacer lo mismo, obtener los cinco mayores numeros de un arreglo, en realidad todavia tengo el codigo que escribi pero no te voy a dar para que puedas pensar un poco.
Te voy a dar una pista de como hize, es un poco complicado pero funciona usando logica matematica. Buscar el mayor de todos es facil, simplemente recorriendo el arreglo y preguntando si es mayor, etc. Podes hacer un metodo de eso que vamos a usar mas tarde, podria llamarse por ejemplo calcularMaximo(tu arreglo) y que al final retorne un int. Ahora si se viene lo complicado, que seria calcular el resto de los numeros mayores sin incluir a los anteriores, yo hize de la siguiente manera: Podrias usar un poco de logica y darte cuenta que el mayor de todos menos el segundo mayor produciria el menor resto de todos. Esa es la clave del algoritmo, ahora esta en tus manos si queres probar o no, ya te di la solucion, ahora te faltaria ver como restar el segundo con el tercero y asi sucesivamente hasta hallar los cinco mayores y podrias ir cargando los numeros en un nuevo arreglo para imprimir mas tarde. A mi me llevo 25 lineas con algunas de comentarios, asi que no es muy largo pero un poco dificil de encarar el problema de esta forma, pero efectivo. |