Autor
|
Tema: Preciso una ayudita sobre array (Leído 2,098 veces)
|
Fapko
Desconectado
Mensajes: 3
|
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.
|
|
|
En línea
|
|
|
|
Zoik
Desconectado
Mensajes: 91
|
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.
|
|
|
En línea
|
|
|
|
Alien-Z
Desconectado
Mensajes: 177
C++ Programmer
|
Parece estar bien, prueba así: boolean ascendente = true; int i = 1; //Empezamos desde la segunda posición del array while (i < ordenado.length && ascendente) { if (ordenado[i-1] > ordenado [i]) //Si no está ordenado ascendente = false; i++; } if(ordenado) system.out.println("El array está ordenado."); else system.out.println("El array no está ordenado.");
Saludos.
|
|
« Última modificación: 27 Agosto 2013, 22:39 pm por Alien-Z »
|
En línea
|
|
|
|
1mpuls0
Desconectado
Mensajes: 1.186
|
public static boolean isOrdered(int array[]) { boolean flag = false; for(int index = 0; index < array.length - 1; index++) { if(array[index]>array[index+1]) { flag = false; break; } else { flag = true; } } return flag; }
solo tengo una pregunta y si existe un arreglo así? int array[] = {1, 2, 3, 3, 6};
|
|
« Última modificación: 27 Agosto 2013, 23:16 pm por Darhius »
|
En línea
|
abc
|
|
|
Fapko
Desconectado
Mensajes: 3
|
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.
|
|
|
En línea
|
|
|
|
Fapko
Desconectado
Mensajes: 3
|
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.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Duda sobre array...
PHP
|
miketru
|
5
|
2,943
|
29 Julio 2008, 14:14 pm
por Novlucker
|
|
|
Una ayudita sobre electronica.. ;)
« 1 2 3 »
Electrónica
|
andres_5
|
29
|
14,952
|
5 Julio 2010, 03:02 am
por andres_5
|
|
|
consulta sobre Struct Array[] en C++
Programación C/C++
|
xkiz ™
|
4
|
6,277
|
1 Julio 2011, 00:02 am
por xkiz ™
|
|
|
consulta sobre array
Programación C/C++
|
xkiz ™
|
1
|
1,662
|
23 Abril 2012, 03:03 am
por BlackZeroX
|
|
|
Duplicar chave Hasp , preciso apoio.
Ingeniería Inversa
|
Geovane
|
8
|
6,018
|
9 Febrero 2019, 21:29 pm
por luislagos132
|
|