ayuda porfa ingresar tamaño de un array ingresar elementos ordenarlos y buscar elementos
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
Holaa!! No se si ya es demasiado tarde... si quieres te puedo ayudar, no lo veo muy dificil.. mandame un correo a [email protected]
ya lo hicimos pero gracias por tu intencion ahora si ves que pudo haber sido mas decente porfa dilo pa\' aprender gracias.
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);
}
//-----------------------------------------------
}
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);
}
//-----------------------------------------------
}
