Título: Preciso una ayudita sobre array Publicado por: Fapko en 27 Agosto 2013, 21:53 pm Mensaje Fapko Hoy a las 12:16 pm Hola a todos, soy nuevo en esto y preciso una ayudita ya que estoy trabado en un programa. El ejercicio dice lo siguiente: Desarrolle un método que recibe por parámetro un arreglo de números enteros y retorna si el arreglo esta ordenado de forma ascendente. Realice también - un método que permita cargar el arreglo con valores (ya lo hice). - Un método que muestre un menú de 3 opciones cargar datos, verificar orden, salir (ya lo hice). - El método main que utilice los 3 métodos anteriores (ya lo hice). Lo que no me sale a mi es la verificación de que el array este ordenado de manera ascendente. Cualquier cosa, acá les dejo lo que hice del programa. public class Ejercicio_10_Consola { static int[] ordenado; static int opcion = -1; static void verificarOrden() { int i = 0, ascendente = 1; while((i < ordenado.length - 1) && (ascendente == 1)){ if ((ordenado) > (ordenado[i + 1])){ ascendente = 0; System.out.println("I: "+ordenado); System.out.println("I + 1: "+ordenado[i + 1]); } System.out.println("I: "+ordenado); System.out.println("I + 1: "+ordenado[i + 1]); i++; } if (ascendente == 0) { System.out.println("Se ingreso los numeros de manera ASCENDENTE."); } else { System.out.println("Se ingreso los numeros de manera DESORDENADA."); } } static void cargarNumeros(int cant){ ordenado = new int[cant]; for (int i = 0; i < ordenado.length; i++){ System.out.print("Ingrese un Numero en la Posicion "+(i + 1)+": "); ordenado = TecladoIn.readLineInt(); } } static void cargarMenu(){ while (opcion != 0) { System.out.println("--------------------------------------------------------"); System.out.println("Bienvenidos al menu elija la ocpion que desea realizar:"); System.out.println("--------------------------------------------------------"); System.out.println("MENU PRINCIPAL"); System.out.println("--------------------------------------------------------"); System.out.println("1 - Cargar Datos."); System.out.println("2 - Verificar Orden."); System.out.println("0 - Salir"); System.out.println("--------------------------------------------------------"); System.out.print("Seleccione una Opcion ---> "); opcion = TecladoIn.readLineInt(); System.out.println("--------------------------------------------------------"); switch(opcion){ case 1: { System.out.println(""); System.out.print("Ingrese la cantidad de numeros que desea ingresar ---> "); int cantidad = TecladoIn.readLineInt(); cargarNumeros(cantidad); break; } case 2: { verificarOrden(); break; } case 0:{ System.out.println("El programa a Finalizado"); break; } default: { System.out.println("ERROR ,la opcion es incorrecta."); break; } } } } public static void main (String[] args) { cargarMenu(); } } Gracias por la atención prestada. Título: Re: Preciso una ayudita sobre array Publicado por: Zoik en 27 Agosto 2013, 22:06 pm Bueno, puede parecer una tontería, pero si una array esta en ascendente o descendente quiero decir que esta ordenada.
Sabiendo esto, con tener el primer numero del array y el último se podría determinar si esta en orden descendente o ascendente, no se si sabes por donde quiero ir. Corrigeme si no es lo que quieres decir. Un saludo. Título: Re: Preciso una ayudita sobre array Publicado por: Alien-Z en 27 Agosto 2013, 22:37 pm Parece estar bien, prueba así:
Código
Saludos. Título: Re: Preciso una ayudita sobre array Publicado por: 1mpuls0 en 27 Agosto 2013, 23:08 pm Código
solo tengo una pregunta y si existe un arreglo así? int array[] = {1, 2, 3, 3, 6}; Título: Re: Preciso una ayudita sobre array Publicado por: Fapko en 28 Agosto 2013, 15:04 pm Hola, si, si tengo el primer Numero entero dentro del arreglo, supongamos que es de 5 posiciones, tengo [1, 3, 2 ,5, 4], ¿ahí tenes un arreglo ordenado? Por mas que la primera y ultima posición son en orden ascendente.
No se si a eso te referís. Gracias por contestarme y ayudarme. Título: Re: Preciso una ayudita sobre array Publicado por: Fapko en 28 Agosto 2013, 15:08 pm Hola, siempre se toma uno de los 2 números repetidos, eso se toma como ordenado pero no esta mal tu pregunta. Gracias ahora voy a probar el código que me pasaste y te digo como me funciono.
Gracias por la preocupación de ayudarme. |