elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


  Mostrar Mensajes
Páginas: [1]
1  Programación / Java / Problema con un arreglo al devolver 5 valores maximos de un ramdom 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
  1. /*
  2.  * Ejericio 3
  3.  */
  4. package s9_ejercicio3;
  5.  
  6. /**
  7.  *
  8.  * @author USUARIO
  9.  */
  10.  
  11. import java.util.Scanner;
  12.  
  13. public class S9_Ejercicio3 {
  14.  
  15.    /**
  16.      * @param args the command line arguments
  17.      */
  18.    public static void main(String[] args) {
  19.    Scanner teclado=new Scanner(System.in);
  20.    int longitud=0, v1=0, v2=0, v3=0, v4=0, v5=0;
  21.    int arreglo[] = new int [longitud];
  22.  
  23.     System.out.print("Longitud del arreglo: ");
  24.     longitud = teclado.nextInt();
  25.     arreglo = new int [longitud];
  26.  
  27.      for (int i=0; i<arreglo.length; i++)
  28.       {
  29.          arreglo[i] = 1 + (int)(Math.random()*100);
  30.         }// fin de for
  31.        Sort(arreglo);
  32.        System.out.println("");
  33.       for (int i=0; i<arreglo.length; i++)
  34.       {
  35.  
  36.           //if (v1!=arreglo[i])
  37.           if (arreglo[i] > v1)
  38.           {
  39.               v1=arreglo[i];
  40.  
  41.           }
  42.           if (arreglo[i] < v1)
  43.               {
  44.  
  45.                   v2=arreglo[i];
  46.               }
  47.            if (arreglo[i]<v1)
  48.            {
  49.                v3=arreglo[i];
  50.            }
  51.  
  52.           // if (v2<v1)
  53.           /*{  
  54.                    v2=arreglo[i];
  55.            }              
  56.            */
  57.  
  58.  
  59.           System.out.println("Los valores mas altos son: "+v1+" "+v2+" "+v3+" "+v4+" "+v5);
  60.  
  61.  
  62.       }// fin de for
  63.  
  64.  
  65.    }//fin de main
  66.  
  67.     public static void Sort(int [] num)
  68.    {
  69.        int j;
  70.        boolean flag = true;
  71.        int temp;
  72.  
  73.        while (flag)
  74.        {
  75.         flag = false;
  76.         for (j=0; j<num.length -1; j++)
  77.         {
  78.             if (num [j] < num[j+1])
  79.             {
  80.                 temp = num[j];
  81.                 num[j] = num[j+1];
  82.                 num[j+1] = temp;
  83.                 flag = true;
  84.             }
  85.         }
  86.        }
  87.  
  88.    }//fin de sort
  89. }

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!!!
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines