Ordenamieno de Burbuja...Ayuda

dr popo

Bovino maduro
#1
buenas noches bakunos espero me puedan ayudar con este programita ya despliega los valores y tres metodos y tengo ahora que esos valores ordenarlos de mayor a menos y de menor a mayor con los mismos valores anteriores que el usuario introduce cuandos son les dejo el codigo que llevo nada mas seria un metodo segun yo gracias de antemano a estoy utilizando java y jcreator

import java.io.*;

public class Diarreglos {

int datos[];
int x=0;
int i=0;
int Menuop=1;


static String leerDato()
{
BufferedReader teclado=new BufferedReader (new InputStreamReader (System.in));
String dato="";
try{dato=teclado.readLine();}
catch (IOException error) { };
return dato;



}

public Diarreglos(int numE)

{datos=new int[numE];}


void llenarA(int numE)
{
for (int x=0;x<numE;x++)
{
System.out.println("Ingresa el valor de la casilla numero: "+(x+1));
datos[x]=Integer.parseInt(leerDato());
}
}



void leerA(int numE)
{
for (int x=0;x<numE;x++)
System.out.println("El valor de la casilla numero "+(x+1)+" es: "+datos[x]);

}






void suma_pares(int numE){

int suma=0;
int suma1=0;

for(int x=0;x<numE;x++){

suma=datos[x];

if(suma%2==0)

{suma1=suma1+suma;}

}


System.out.println("La suma de las casillas pares es: \n "+suma1);


}

void suma_posiciones_pares(int numE)
{
int suma12=0,ini=0;

for(int x=1;x<numE;x++)
{
ini=datos[x];

suma12=suma12+ini;

x++;


}

System.out.print("La suma de los valores de las casillas pares es:\n "+suma12);
}

void suma_pares_impares(int numE)
{
int sumapar=0,sumaimpar=0;

for(int i=0;i<numE;i++)
{
if((datos[x]%2)==0)

{sumapar=sumapar+1;}

else

{sumaimpar=sumaimpar+1;}

datos[x]=datos[x]+1;
}

System.out.print("\nEl numero de casillas pares es: "+sumapar);
System.out.print("\nEl numero de casillas impares es: "+sumaimpar);
}


void acomodar_burbuja(int numE) //METODO BURBUJA ORDENAR
{









System.out.print("\nEl numero de casillas pares es: ");

}





public static void main(String args[])

{

int numE=0,op=0;

System.out.println(" * * * * * * * * * * * * * * * *");
System.out.println(" * * * C A S I L L A S * * *");
System.out.println(" * * * * * * * * * * * * * * * *");

System.out.println("\nCuantos datos vas a poner: ");
numE=Integer.parseInt(leerDato());

Diarreglos arreglo=new Diarreglos(numE);
arreglo.llenarA(numE);
arreglo.leerA(numE);

while(arreglo.Menuop==1)

{


System.out.println("\nElige una opcion ");
System.out.println(" \n\n1.-Sumar casillas pares");
System.out.println(" \n2.-Sumar valores de casillas pares");
System.out.println(" \n3.-Contar el numero de casillas pares e impares");
System.out.println(" \n4.-Enumerar de mayor a menor y de menor a mayor");


op=Integer.parseInt(leerDato());

switch(op){
case 1 : arreglo.suma_pares(numE);
break;

case 2 : arreglo.suma_posiciones_pares(numE);
break;

case 3 : arreglo.suma_pares_impares(numE);
break;

case 4 : arreglo.acomodar_burbuja(numE);// <===========este falta
break;
}

System.out.print("\n\nQuieres continuar?: \n1.Si \n2.No\n ");
arreglo.Menuop=Integer.parseInt(arreglo.leerDato());
}

System.out.print("\n\n ***********************************");
System.out.print("\n ***********************************");
System.out.print("\n ***F I N--D E L--P R O G R A M A***");
System.out.print("\n ***********************************");
System.out.print("\n ***********************************");


}
}
 

emigidio

Bovino Milenario
#2
metodo_ascendente
Código:
        double temp;
	for (i=0;i<=n;i++)
		{ //->inicio for i=0
		for (j=0;j<n;j++)
			{ //->inicio for j=0
			if(val[j]>val[j+1]) // < para descendente
                        	{ //->inicio if condicion
			 	temp=val[j];
			 	val[j]=val[j+1];
				val[j+1]=temp;
				} //->fin if condicion
			}//->fin for j=0
		}//->fin for i=0
Acomoda-lo a tu programa, espero sirva. Suerte y saludos!
 

registro500

Bovino adolescente
#4
bueno estaba revisando el codigo emigidio esta excelente

para acotar y con el permiso de emigidio :

para tener ambos casos es cambiar la condicion del if

if(val[j]>val[j+1]) //<-- ascendente

if(val[j]<val[j+1]) //<-- descendente
 
Arriba