ayuda porfa ingresar tamaño de un array ingresar elementos ordenarlos y buscar elementos

regoga007
15 de Septiembre del 2008
porfa tengo que hacer un programa que por teclado yo le de el tamaño del array ingrese elementos al array lo ordene y busque elementos en este porfa tengo 5 horas

maite
15 de Septiembre del 2008
Holaa!! No se si ya es demasiado tarde... si quieres te puedo ayudar, no lo veo muy dificil.. mandame un correo a [email protected]

regoga007
15 de Septiembre del 2008
ya lo hicimos pero gracias por tu intencion ahora si ves que pudo haber sido mas decente porfa dilo pa\' aprender gracias.

regoga007
15 de Septiembre del 2008
package trabajoarreglos;
import java.io.*;
import java.util.Scanner;

public class Main {
public static void main(String[] args) throws IOException {
String opcion;
BufferedReader entrada = new BufferedReader (new InputStreamReader(System.in));
String respuesta = "si";
String entra = "si";

while (respuesta.equals(entra)){



System.out.println("n"+"n"+"Ordenamiento y Busqueda de Arreglos ");

System.out.println("n"+"1.- Ordenamiento Directo" );
System.out.println("2.- Ordenamiento con QuickSort " );
System.out.println("3.- Busqueda de un elemento" );
System.out.println("4.- Salir" );
System.out.println("n"+"Escriba su Opcion: " );


opcion= entrada.readLine();

int op=Integer.parseInt(opcion);


if(op!=1 && op!=2 && op!=3 && op!=4)
{
System.out.println("La opcion no es valida, porfavor ingresa un número entre 1 y 4");

}



else{
switch(op)
{

// caso 1 : Búsqueda Directa.

case 1:
Scanner leer1 = new Scanner (System.in);
System.out.println("Ingrese el largo del arreglo: ");

int numLargo = leer1.nextInt();
int arreglito[] = new int[numLargo];

Arreglos.ingresarValoresArreglo(arreglito);

System.out.print("n"+"El arreglo ingresado es: [");

Arreglos.imprimeArreglo(arreglito);
System.out.println("]");
Arreglos.ordenar(arreglito);

System.out.print("Su arreglo ordenado es: [");
Arreglos.imprimeArreglo(arreglito);
System.out.println("]");
System.out.println("n"+"¿Desea realizar otra operacion? si/no");
System.out.print("Escriba su opcion: ");

entra = entrada.readLine();
break;

//Caso 2: QuickSort
case 2:

Scanner leer2 = new Scanner (System.in);
System.out.println("Ingrese el largo del arreglo :");

int numLargo2 = leer2.nextInt();
int arreglito2[] = new int[numLargo2];


int i;
int b;
for(i = 0; i < numLargo2; i++)
{
System.out.println("Ingrese el valor a la posicion "+(i+1)+" del arreglo :");
arreglito2 [i] = leer2.nextInt();
}


System.out.print("n"+"El arreglo ingresado es: [");
Arreglos.imprimeArreglo(arreglito2);
System.out.println("]");
System.out.print("Su Arreglo ordenado es: [");
Arreglos.quicksort(arreglito2, 0, arreglito2.length-1);
Arreglos.imprimeArreglo(arreglito2);
System.out.println("]");
System.out.println("n"+"¿Desea realizar otra operacion? si/no");
System.out.print("Escriba su opcion: ");

entra = entrada.readLine();
break;

// busqueda de un elemento del arreglo
case 3:

Scanner leer3 = new Scanner (System.in);
System.out.print("Ingrese el largo del arreglo: ");
int numLargo3 = leer3.nextInt();
int arreglito3[] = new int[numLargo3];

Arreglos.ingresarValoresArreglo(arreglito3);
System.out.println("**************************************");
System.out.print("n"+"El arreglo ingresado es : [");
Arreglos.imprimeArreglo(arreglito3);
System.out.println("]");
System.out.println("n"+"**************************************");
System.out.println("Ingrese el valor que quiere buscar: ");

int numBusqueda = leer3.nextInt();
Arreglos.busqueda(arreglito3, numBusqueda);
System.out.println("n"+"¿Desea realizar otra operacion? si/no");
System.out.print("Escriba su opcion: ");
entra = entrada.readLine();
break;

case 4:
entra = "no";
break;

}

}
}

System.out.println("n"+"Gracias.");
System.out.println("n"+"PROGRAMADORES:"+"n"+"Daniela Segura, Sinagi Huerta, Rene Gomez"+"n");
}

}





package trabajoarreglos;

import java.util.Scanner;
import java.util.Arrays;

public class Arreglos {

private int [] arreglo;


public Arreglos(int numLargo)
{
//Instanciamos el objeto arreglo al n determinado
arreglo = new int[numLargo];

}

//---------------------------------------------------------------------

public static void ingresarValoresArreglo(int arreglo [])
{
Scanner in = new Scanner(System.in);
for(int i = 0 ; i < arreglo.length; i++)
{
System.out.println("Ingrese el valor a la posicion "+(i+1)+" del arreglo: ");
arreglo[i] = in.nextInt();

}
}

//------------------------------------------------------------------


public static void imprimeArreglo(int arreglo [])
{

for(int i = 0 ; i < arreglo.length-1; i++)
{
System.out.print(arreglo[i]+"-");
}
System.out.print(arreglo[arreglo.length-1]);
}
//--------------------------------------------

public static void busqueda(int arreglo [], int numBusqueda)
{
int i;
int cont=0;
boolean esta= false;

for(i=0;i< arreglo.length;i++)
{
cont ++;
if (numBusqueda==arreglo[i])
{
System.out.println("n"+"El entero " +numBusqueda+" se encuentra en la posicion : "+ cont);
esta = true;
}

}
if (esta == false)
System.out.println("El entero " +numBusqueda+" no se encuentra");
}

// ----------------------------------------------------------------------------------

public static void ordenar(int arreglo []) {
int nElementos = arreglo.length;
for (int indPrimero = 0; indPrimero < nElementos; indPrimero++) {

/* El indice del menor se setea como el indice del primero. */
int indMenor = indPrimero;

/* Se busca el indice del menor elemento */
for (int indActual = indPrimero + 1; indActual < nElementos; indActual++)
if (arreglo[indActual] < arreglo[indMenor])
indMenor = indActual;

/* Se intercambian los elementos */
int temp = arreglo[indPrimero];
arreglo[indPrimero] = arreglo[indMenor];
arreglo[indMenor] = temp;
}
}
//------------------------------------------------------------------------



public static void quicksort(int arreglo[], int ini,int fin)
{

int aux;
int a = ini;
int b = fin;
int puntero = arreglo[(ini+fin)/2];

do
{
while ((arreglo[a] < puntero))
{
if(a < fin)
{
a++;
}

}
while (puntero < arreglo[b])
{

if(b > ini)
{
b--;
}

}

if (a <= b)
{
aux = arreglo[a];
arreglo[a] = arreglo[b];
arreglo[b] = aux;
a++;
b--;
}
}
while (a <= b);
if (ini < b)
quicksort(arreglo, ini, b);
if (a < fin)
quicksort(arreglo, a, fin);
}


//-----------------------------------------------
}