Ver Mensaje Individual
  #2 (permalink)  
Antiguo 09/04/2011, 23:31
Avatar de HackmanC
HackmanC
 
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 2 meses
Puntos: 260
Sonrisa Respuesta: como buscar los dos numeros mas grandes de un array?

Hola,

Cita:
Iniciado por RIVERMILLOS Ver Mensaje
... aplicando divide y venceras o recursividad ...
¿Donde estas aplicando recursividad? En ese programa no se mira que exista recursividad. (Por si las dudas ... recursividad no es dividir un arreglo en dos y continuar dividiendo, es otro concepto muy diferente aplicado a llamadas a funciones o métodos)

Cita:
Iniciado por RIVERMILLOS Ver Mensaje
... hasta ahora lo que he hecho es
eliminar las posibilidades separando en grupos de a dos el array y enviando el mas grande del grupo a al derecha asi. ...
¿Los estas ordenando o estas buscando el mayor?
Si solo estas buscando ... ¿para qué mueves de lugar el número?

Cita:
Iniciado por RIVERMILLOS Ver Mensaje
... pero no encuentro la forma de aplicar estos conceptos en este problema. ...
Ese algoritmo no sería aconsejable resolverlo usando recursividad.
El método es simple, suponiendo que tienes esta lista de números:

6 5 2 4 9 8 7 3 1 0

¿Como sabes cual es el mayor y el anterior al mayor?

Inicializas una variable que sea el mayor con -1. Después tomas el 6, ¿es mayor al antiguo mayor, que era -1? Como verdaderamente es mayor entonces guardas en la variable mayor el 6. Después tomas el 5, ¿es mayor al antiguo mayor, que era 6? Como no es mayor entonces no haces nada. Y así continuas buscando el mayor.

Para buscar el anterior al mayor, vuelves a realizar el proceso pero sin tomar en cuenta el mayor que ya habías encontrado. Pero si lo quieres hacer eficientemente, solamente haces un ciclo donde se busque el mayor y el anterior al mayor, sino lo haces en dos pasadas.

Saludos,