ordenacion de una matriz - Materias de UES-FMO

Anuncio
package ejemplo1;
import javax.swing.JOptionPane;
/**
*
* @author joaquin
*/
public class OperacionesMatrices {
public static int[][] leematriz(int m,int n){
int[][] matriz=new int[m][n];
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
matriz[i][j]=Integer.parseInt(JOptionPane.showInputDialog("Ingrese dato ["+i+","+j+"]:"));
return matriz;
}
public static int[][] duplicamatriz(int m,int n, int mat[][]){
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
mat[i][j]=mat[i][j]*2;
return mat;
}
public static void visualizamat(int m, int n, int mat[][],String cadena){
System.out.println("La operacion realizada fue: "+cadena);
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
System.out.print("E ["+i+","+j+"]:"+mat[i][j]+" ");
}
System.out.println();
}
}
public static int[][] Ordena(int m, int n, int mat[][]){
int cambio,contador=0,a=0,b=0,aa,bb,i,j;
aa=a;
bb=b;
while(contador<(m*n)){
for(i=aa;i<m;i++){
for(j=bb;j<n;j++){
if(mat[i][j]<mat[a][b]){
cambio=mat[i][j];
mat[i][j]=mat[a][b];
mat[a][b]=cambio;
}
}
bb=0;
}
b++;
if (b>=m)
{
b=0;
a++;
aa++;
}
contador++;
bb=b;
}
return mat;
}
public static void main(String[] args){
int x,y;
x=Integer.parseInt(JOptionPane.showInputDialog("Ingrese dato m"));
y=Integer.parseInt(JOptionPane.showInputDialog("Ingrese dato n"));
int[][] mat=new int[x][y];
mat=leematriz(x,y);
//visualizamat(x,y,duplicamatriz(x,y,mat),"Matriz Duplicada");
visualizamat(x,y,Ordena(x,y,mat),"Matriz Ordenada");
}
}
Descargar