elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Preciso una ayudita sobre array
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Preciso una ayudita sobre array  (Leído 2,096 veces)
Fapko

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Preciso una ayudita sobre array
« 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.


En línea

Zoik

Desconectado Desconectado

Mensajes: 91


Ver Perfil
Re: Preciso una ayudita sobre array
« Respuesta #1 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.


En línea

Alien-Z

Desconectado Desconectado

Mensajes: 177


C++ Programmer


Ver Perfil
Re: Preciso una ayudita sobre array
« Respuesta #2 en: 27 Agosto 2013, 22:37 pm »

Parece estar bien, prueba así:

Código
  1. boolean ascendente = true;
  2. int i = 1; //Empezamos desde la segunda posición del array
  3. while (i < ordenado.length && ascendente) {
  4.   if (ordenado[i-1] > ordenado [i]) //Si no está ordenado
  5.      ascendente = false;
  6.  
  7.   i++;
  8. }
  9. if(ordenado)
  10.   system.out.println("El array está ordenado.");
  11. else
  12.   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 Desconectado

Mensajes: 1.186


Ver Perfil
Re: Preciso una ayudita sobre array
« Respuesta #3 en: 27 Agosto 2013, 23:08 pm »

Código
  1. public static boolean isOrdered(int array[]) {
  2.        boolean flag = false;
  3.        for(int index = 0; index < array.length - 1; index++) {
  4.            if(array[index]>array[index+1]) {
  5.                flag = false;
  6.                break;
  7.            } else {
  8.                flag = true;
  9.            }
  10.        }
  11.        return flag;
  12.    }

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 Desconectado

Mensajes: 3


Ver Perfil
Re: Preciso una ayudita sobre array
« Respuesta #4 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.
En línea

Fapko

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Preciso una ayudita sobre array
« Respuesta #5 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.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda sobre array...
PHP
miketru 5 2,936 Último mensaje 29 Julio 2008, 14:14 pm
por Novlucker
Una ayudita sobre electronica.. ;) « 1 2 3 »
Electrónica
andres_5 29 14,948 Último mensaje 5 Julio 2010, 03:02 am
por andres_5
consulta sobre Struct Array[] en C++
Programación C/C++
xkiz ™ 4 6,273 Último mensaje 1 Julio 2011, 00:02 am
por xkiz ™
consulta sobre array
Programación C/C++
xkiz ™ 1 1,661 Último mensaje 23 Abril 2012, 03:03 am
por BlackZeroX
Duplicar chave Hasp , preciso apoio.
Ingeniería Inversa
Geovane 8 6,009 Último mensaje 9 Febrero 2019, 21:29 pm
por luislagos132
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines