[ Foro de Java ]

ordenamiento

29-Nov-2013 04:25
kiki sierra
1 Respuestas

ayuda con un programa que me ordene un arreglo de menor a mayor y de mayor a menor y que para llenar el arreglo se haga por teclado


29-Nov-2013 10:19
Nacho Cabanes (+84)

¿Qué ayuda necesitas? Para declarar un array se hace algo como


double[] datos = new double [1000];


Pero el tipo de datos y el tamaño depende de cada problema concreto. Tienes más sobre arrays en el apartado 7 del curso:
http://www.aprendeaprogramar.com/mod/resource/view.php?id=210

Para pedir un dato al usuario (usando la consola) deberás hacer algo como:


int numero = 0;
 
System.out.print( "Introduzca un numero: " ); 
try { 
  BufferedReader entrada = 
    new BufferedReader(new InputStreamReader(System.in));   
  numero = Integer.parseInt( entrada.readLine() ); 
}
catch (IOException e) {}


Nuevamente, los detalles dependen del tipo de dato que necesites pedir. Tienes más sobre cómo leer datos desde consola en el apartado 8a del curso:
http://www.aprendeaprogramar.com/mod/resource/view.php?id=461

Finalmente, hay muchas formas de ordenar. Una de las más sencillas es la de "burbuja", que consiste en ir comparando cada dato con los siguientes, de forma que en cada pasada un nuevo dato queda ordenado.


for (int i=0; i<n-1; i++)
    for (int j=i+1; j<n; j++)
        if (data[i] > data[j])
        {
            int aux = data[i];
            data[i] = data[j];
            data[j] = aux;
        }


Eso ordena de menor a mayor; para ordenar de mayor a menor deberás invertir el "if".







(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)