Programación Funcional - ORDENAR UNA MATRIZ

 
Vista:

ORDENAR UNA MATRIZ

Publicado por Mari Carmen (1 intervención) el 15/11/2006 13:03:17
Tengo una matriz de 5 columnas por n filas. Necesito una funcion que ordene por una columna concreta, la segunda, que es un código alfanumerico de la siguiente manera
kt.arba.b, am.a19.bl
Como se puede hacer?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ORDENAR UNA MATRIZ EN JAVA

Publicado por ROSA (1 intervención) el 23/06/2009 19:02:33
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
public class prueba {
	public static void main(String[] args) {
		System.out.println("introduce las filas");
		int n=//pide las filas
		System.out.println("introduce las columnas");
		int m=//pide las columnas
		int j,i,t=0;
		int mat[][]=new int [n][m];
		for ( i=0;i<n;i++){
			for( j=0;j<m;j++){
				System.out.println("introduce el numero en la pocision  "+i+"  "+j);
				mat[i][j]=//pide el nnumero				
			}
		}
		for ( i=0;i<n;i++){//imprime la matriz como ingresaste los datos
			for( j=0;j<m;j++){
				System.out.print(mat[i][j]+"	");
			}
			System.out.println("");
		}
		for( i=0; i < n; i++){//ordena la matriz de abajo hacia arriba
			for( j=0;j< m; j++){
			for(int x=0; x < n; x++){
				for(int y=0; y <m; y++){
			if(mat[i][j] > mat[x][y]){
			t = mat[i][j];
			mat[i][j] = mat[x][y];
			mat[x][y] = t;
			}
				}
			}
			}
	    }System.out.println("******************************************************");
		for ( i=mat.length-1;i>=0;i--){//imprime la matriz ascendentemente
			for( j=mat.length-1;j>=0;j--){
				System.out.print(mat[i][j]+"	");
			}
			System.out.println("");
		}
 
	}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

RE:ORDENAR UNA MATRIZ EN JAVA

Publicado por jerimy386 (1 intervención) el 04/04/2011 00:06:01
El método de arriba está correcto, funciona a la perfección, hay que usar un vector para que el ordenamiento quede en la misma línea, luego subo el ejemplo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ORDENAR UNA MATRIZ EN JAVA

Publicado por Javier Martinez (1 intervención) el 03/04/2012 00:37:17
Es bueno tu aporte, tambien puedes usar x=i, y=j.. en el segundo par de ciclos para el ordenamiento y queda de manera ascendente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ORDENAR UNA MATRIZ EN JAVA

Publicado por zakaros (1 intervención) el 23/06/2012 21:13:05
muy bonito ordenamiento pero extrañamente solo me sirve para matrices de 3x3, cuando intente con una de 3x2 o 3x4 no funca
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ORDENAR UNA MATRIZ EN JAVA

Publicado por paty (1 intervención) el 10/03/2015 09:35:32
no es que no funcione sino que la instruccion para imprimir cuando ya esta ordenada esta mal por que le hace falta un corchete para indicar el tamaño de las columnas que seria algo como esto :

1
2
3
4
5
6
for ( i=mat.length-1;i>=0;i--){//imprime la matriz ascendentemente
    for( j=mat[0].length-1;j>=0;j--){
        System.out.print(mat[i][j]+"    ");
    }
    System.out.println("");
}

con eso ya te lo imprime bien por que el error que lanza cuando lo ejecutas sin el corchete es un desbordamiento o nullpointexception ;)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ORDENAR UNA MATRIZ EN JAVA

Publicado por Santy7 (1 intervención) el 14/11/2012 04:40:50
Excelente explicación, me has ayudado muchísimo...

Muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ORDENAR UNA MATRIZ EN JAVA

Publicado por Taison (1 intervención) el 20/04/2013 18:17:18
muchas gracias esto me sirvio de mucha ayuda :D
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de gerardo

RE:ORDENAR UNA MATRIZ EN JAVA

Publicado por gerardo (1 intervención) el 13/03/2015 21:01:13
wooow esta chido
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ORDENAR UNA MATRIZ EN JAVA

Publicado por Sneider (2 intervenciones) el 08/11/2022 23:34:43
Crear un algoritmo que ordene una matriz de n*n, esta matriz es ingresada previamente por el usuario.
me pueden ayudar por favor
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:ORDENAR UNA MATRIZ EN JAVA

Publicado por Sneider (2 intervenciones) el 08/11/2022 23:37:52
Hacer un algoritmo que llene una matriz de n * n y que almacene la diagonal principal en un vector. Imprimir el vector resultante.

Crear un algoritmo que ordene una matriz de n*n, esta matriz es ingresada previamente por el usuario.

Me pueden ayudar por favor
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ORDENAR UNA MATRIZ

Publicado por Alejandro (1 intervención) el 05/09/2015 06:12:46
como puedo ordenar esta matriz en orden ascendente y trasponerla..... me pueden ayudar como se hace



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package matrices;
 
import java.util.Scanner;
 
 
public class Matrices {
 
    public static void main(String[] args) {
 
 
        Scanner leer=new Scanner (System.in);
        int F=0,C=0;
 
        System.out.println("Tamaño Fila");
        F=leer.nextInt();
        System.out.println("Tamaño Columna");
        C=leer.nextInt();
 
 
        matriz M1=new matriz (F,C);
        M1.inicilizarElementos();
        M1.imprimirElementos();
        M1.asignarElementos();
        M1.imprimirElementos();
 
    }
 
}


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
package matrices;
 
import java.util.Scanner;
 
public class matriz {
 
    private int Mat[][];
 
    public matriz(int F, int C) {
        Mat = new int[F][C];
    }
 
    public int[][] getMat() {
        return Mat;
    }
 
    public void setMat(int[][] Mat) {
        this.Mat = Mat;
    }
 
    public void inicilizarElementos() {
        for (int i = 0; i < Mat.length; i++) {
            for (int j = 0; j < Mat[0].length; j++) {
                Mat[i][j] = 0;
            }
        }
    }
 
    public void asignarElementos() {
        Scanner leer = new Scanner(System.in);
        for (int i = 0; i < Mat.length; i++) {
            for (int j = 0; j < Mat[0].length; j++) {
 
                System.out.println("valor posicion " + i + "," + j + ":");
                Mat[i][j] = leer.nextInt();
            }
        }
    }
 
    public void imprimirElementos() {
        for (int i = 0; i < Mat.length; i++) {
            for (int j = 0; j < Mat[0].length; j++) {
                System.out.print(Mat[i][j]);
            }
            System.out.println();
        }
 
    }
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar