nelsoncrs25 Posted August 25, 2014 Report Share Posted August 25, 2014 Hola buenas .... mi consulta o mas bien necesidad de ayuda es la siguiente: Tengo que ordenar una matriz (Lenguaje Java ) de n*m de enteros de menor a mayor PERO sin usar algun metodo ya conocido, sin usar variables auxiliares ni nada .... y con la condicion que solo se pueden intercambiar posiciones contiguas, por lo tanto supongamos en la matriz 3 4 51 2 3 el numero 3 puedo intercambiarlo solo con el 1 o con el 4 , y el 5 NO puedo cambiarlo por el 1 sino que solo con el 3 o 4 . hasta ahora tengo esto pero no me esta ordenando como corresponde: public static void swap(int i, int j, int x, int y){matriz[j]=matriz[j]+matriz[x][y];matriz[x][y]=matriz[j]-matriz[x][y];matriz[j]=matriz[j]-matriz[x][y];} // Metodo que cambia las posiciones sin usar variable aux for(int j=0;j<matriz.length;j++){for(int i=0;i<matriz.length;i++){ if(j<matriz.length-1 && matriz[j]>matriz[j+1]){swap(i,j,i,j+1);} if(i<matriz.length-1 && matriz[j]>matriz[i+1][j]){swap(i,j,i+1,j);} if(j>=1 && matriz[j]<matriz[j-1]){swap(i,j,i,j-1); if(i>=1 && matriz[j]<matriz[i-1][j]){swap(i,j,i-1,j);} } }} // Ciclos para cambiar las posiciones (Aca esta el error) Bueno si no seria mucha la molestia el que pueda o sepa que me diga porfa aunque sea una ayudita alguna :) eso muchas gracias por su tiempo :) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now