Programa en java que encuentre el segundo numero mayor de n numeros con array
Polfed:
Sugerencia: Almacenar los dos últimos números mayores en una lista.
Respuestas
Respuesta dada por:
0
Para el desarrollo de este ejercicio, primero establecemos la lógica del algoritmo.
Nota: La lógica de este algoritmo puede crearse de diversas formas, todo depende de las ideas con las que plantees el ejercicio.
# Definición
Desde una lista de números, ejemplo:
Lista: {80,5,99}
Contando desde 1, el tamaño total o longitud de esta lista sería: 3
Definimos que a partir de los 3 números dados, para buscar el segundo número mayor decimos que: La longitud del segundo numero mayor siempre será igual a la longitud - 2, ya que el primer numero mayor será obligatoriamente mayor a todos los números de la lista, es decir longitud - 1.
Longitud: Es el tamaño o la cantidad de números de la lista sin contar el numero que se esta comparando con los demás.
# Busqueda
Hacemos uso de un contador para saber el numero de veces que un numero ha sido mayor a los demás y en base a eso obtener el segundo numero mayor.
Lista: {80,5,99} longitud = 3
Longitud para segundo numero mayor
longitud2 = longitud - 2
longitud2 = 1
80 > 5 - Si entonces: contador = 1
80 > 99 - No
Si longitud2 == contador
entonces
80 es el segundo mayor
Nota: Esta explicación es un pequeño ejemplo de como funciona el algoritmo que se presenta al final de esta definición.
# Algoritmo
int[] numeros = {10,85,8,11,0,12,70,2,};
int longitud = numeros.length-1;
int temp,mayor2 = 0,pos;
boolean estado = false;
System.out.println("=-=---=-= NUMEROS =-=---=-=");
System.out.println("# LISTA");
for (int i = 0; i <= longitud; i++) {
temp = numeros[i];
pos = 0;
System.out.print("{"+temp+"} ");
for (int j = 0; j <= longitud; j++) {
if(i!=j){
if(temp>numeros[j]){
estado = (pos==(longitud-2)) ? true : false;
pos++;
}
}
}
if(estado==true){ mayor2 = temp; estado = false;}
}
System.out.println("\n# RESULTADO");
System.out.println("[2] Mayor: "+mayor2);
System.out.println("=-----------------------------=");
Nota: La lógica de este algoritmo puede crearse de diversas formas, todo depende de las ideas con las que plantees el ejercicio.
# Definición
Desde una lista de números, ejemplo:
Lista: {80,5,99}
Contando desde 1, el tamaño total o longitud de esta lista sería: 3
Definimos que a partir de los 3 números dados, para buscar el segundo número mayor decimos que: La longitud del segundo numero mayor siempre será igual a la longitud - 2, ya que el primer numero mayor será obligatoriamente mayor a todos los números de la lista, es decir longitud - 1.
Longitud: Es el tamaño o la cantidad de números de la lista sin contar el numero que se esta comparando con los demás.
# Busqueda
Hacemos uso de un contador para saber el numero de veces que un numero ha sido mayor a los demás y en base a eso obtener el segundo numero mayor.
Lista: {80,5,99} longitud = 3
Longitud para segundo numero mayor
longitud2 = longitud - 2
longitud2 = 1
80 > 5 - Si entonces: contador = 1
80 > 99 - No
Si longitud2 == contador
entonces
80 es el segundo mayor
Nota: Esta explicación es un pequeño ejemplo de como funciona el algoritmo que se presenta al final de esta definición.
# Algoritmo
int[] numeros = {10,85,8,11,0,12,70,2,};
int longitud = numeros.length-1;
int temp,mayor2 = 0,pos;
boolean estado = false;
System.out.println("=-=---=-= NUMEROS =-=---=-=");
System.out.println("# LISTA");
for (int i = 0; i <= longitud; i++) {
temp = numeros[i];
pos = 0;
System.out.print("{"+temp+"} ");
for (int j = 0; j <= longitud; j++) {
if(i!=j){
if(temp>numeros[j]){
estado = (pos==(longitud-2)) ? true : false;
pos++;
}
}
}
if(estado==true){ mayor2 = temp; estado = false;}
}
System.out.println("\n# RESULTADO");
System.out.println("[2] Mayor: "+mayor2);
System.out.println("=-----------------------------=");
Adjuntos:
Preguntas similares
hace 6 años
hace 9 años
hace 9 años
hace 9 años
hace 9 años
hace 9 años