Ahora tendrás que llamar a una función "separaParesImpares" que devolverá otro array ordenado de la siguiente forma: primero aparecerán todos los pares y después todos los impares. Finalmente muestra el array ordenado por pantalla.
Ejemplo:
Array Inicial:
5, 9, 18, 50, 49, 67, 2, 99, 97, 20
Array Ordenado:
18, 50, 2, 20, 5, 9, 49, 67, 99, 97
5, 9, 18, 50, 49, 67, 2, 99, 97, 20
Array Ordenado:
18, 50, 2, 20, 5, 9, 49, 67, 99, 97
SOLUCIÓN EN JAVA:
package paresimpares; import java.util.Arrays; public class ParesImpares { static int[] separaParesImpares(int[] lista){ int[] nuevo=new int[lista.length]; int i, posicionNuevoIzq=0, posicionNuevoDer=lista.length-1; //Hago un recorrido para colocar primero los pares en el nuevo array //y al final del array los impares for (i=0;i < lista.length;i++){ if (lista[i]%2==0){ nuevo[posicionNuevoIzq]=lista[i]; posicionNuevoIzq++; } else { nuevo[posicionNuevoDer]=lista[i]; posicionNuevoDer--; } } return nuevo; } public static void main(String[] args) { int[] elementos=new int[10]; int i; //Genero el array con números aleatorios del 1 al 100 for (i=0;i < elementos.length;i++){ elementos[i]=(int)(Math.random()*100+1); } System.out.println("Array antes de ordenar pares e impares: "+Arrays.toString(elementos)); //Hago la llamada a la función que separa pares e impares y el resultado lo guardo //en el mismo array elementos=separaParesImpares(elementos); System.out.println("Array después de ordenar pares e impares: "+Arrays.toString(elementos)); } }
No hay comentarios:
Publicar un comentario