Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - wnavashn

#1
Me gustaría me ayudaran con este código ya que no veo como resolver el problema planteado acá.

CitarEjercicio 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 (java) [Seleccionar]

/*
* Ejericio 3
*/
package s9_ejercicio3;

/**
*
* @author USUARIO
*/

import java.util.Scanner;

public class S9_Ejercicio3 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
    Scanner teclado=new Scanner(System.in);
    int longitud=0, v1=0, v2=0, v3=0, v4=0, v5=0;
    int arreglo[] = new int [longitud];
   
     System.out.print("Longitud del arreglo: ");
     longitud = teclado.nextInt();
     arreglo = new int [longitud];
     
      for (int i=0; i<arreglo.length; i++)
       {
          arreglo[i] = 1 + (int)(Math.random()*100);
         }// fin de for
        Sort(arreglo);
        System.out.println("");
       for (int i=0; i<arreglo.length; i++)
       {
             
           //if (v1!=arreglo[i])
           if (arreglo[i] > v1)
           {
               v1=arreglo[i];
               
           }
           if (arreglo[i] < v1)
               {
                   
                   v2=arreglo[i];
               }
            if (arreglo[i]<v1)
            {
                v3=arreglo[i];
            }
           
           // if (v2<v1)
           /*{   
                   v2=arreglo[i];
           }               
           */
       
           
           System.out.println("Los valores mas altos son: "+v1+" "+v2+" "+v3+" "+v4+" "+v5);
   
       
       }// fin de for
       
     
    }//fin de main
   
     public static void Sort(int [] num)
    {
        int j;
        boolean flag = true;
        int temp;
       
        while (flag)
        {
         flag = false;
         for (j=0; j<num.length -1; j++)
         {
             if (num [j] < num[j+1])
             {
                 temp = num[j];
                 num[j] = num[j+1];
                 num[j+1] = temp;
                 flag = true;
             }
         }
        }
       
    }//fin de sort
}


Esto es lo que me devuelve al ejecutarlo

CitarLongitud 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!!!