
En este ejemplo vamos a transponer una matriz en Java. A la hora de transponer una matriz lo que estamos haciendo es convertir todas sus filas en columnas:
Lo primero para poder transponer una matriz en Java será definir la matriz mediante un array bidimensional. En nuestro caso vamos a utilizar una matriz de números enteros:
int[][] matriz = {{1,2,3},{4,5,6},{7,8,9},{10,11,12}};
Lo siguiente será crear la nueva matriz. Hay que tener en cuenta que el valor de la dimensión de filas de la matriz transpuesta será el de las columnas de la matriz y el valor de las columnas de la matriz transpuesta será el de las filas de la matriz original.
int[][] matrizT = new int[matriz[0].length][matriz.length];
Como se puede ver nos apoyaos en el atributo .length para saber el tamaño de las filas y columnas de la matriz.
Ahora nos apoyamos en bucles para poder recorrer la matriz e ir haciendo la transposición. Como en otros casos utilizamos dos bucles anidados que representen las coordenadas x,y
for (int x=0; x < matriz.length; x++) {
for (int y=0; y < matriz[x].length; y++) { ... }
}
}
Ahora pasamos a la asignación. A la hora de pasar las filas a columnas vemos que el orden es el siguiente.
0,0 -> 0,0 0,1 -> 1,0 0,2 -> 2,0 1,0 -> 0,1 1,1 -> 1,1 1,2 -> 2,1 ...
Es decir que estamos cambiando las coordenadas x,y de la matriz original en las coordenadas y,x de la segunda. Por lo tanto la asignación será, si estamos recorriendo la matriz original.
matrizT[y][x] = matriz[x][y];
Quedando el código del bucle:
for (int x=0; x < matriz.length; x++) {
for (int y=0; y < matriz[x].length; y++) {
matrizT[y][x] = matriz[x][y];
}
}
Como vemos es muy sencillo transponer una matriz en Java.
jhoel
alguien con esos ejercicios porfa 1) Lea un matriz de f filas y c columnas y luego imprímala 2) Encuentre la transpuesta de una matriz 3) Genere una matriz identidad de orden n 4) Dada una matriz diga si esta es una matriz triangular superior 5) Dada dos matrices obtenga la matriz ampliada 6) Inserte un vector en una columna determinada de una matriz 7) ¿Cuál es la producción mensual de un grupo de fábricas? 8) Suma de dos matrices 9) Producto de dos matrices 10) Determinante de una matriz 11) Resuelva un sistema de ecuaciones simultáneas 12) Inversa de una matriz
Víctor Cuervo
Buenas jhoel,
Es complicado que alguien te resuelva los ejemplos directamente. Yo te recomendaría que intentases algo y planteases preguntas concretas. Y en ese caso te animo a utilizar el foro… http://www.dudasprogramacion.com
Saludos.
alejandro
Hola Victor, puedes ayudarme con este ejercicio?
Generar la siguiente matriz de 5×5, donde sus diagonales contengan un 1 y el resto 0.
Debe generar la siguiente salida:
1 0 0 0 1
0 1 0 1 0
0 0 1 0 0
0 1 0 1 0
1 0 0 0 1
Gracias de antemano…
edith
podrias ayudarme?.
tengo que realizar 2 matrices de 2×5 (A empieza en 100 y B empieza en 1000)
Después tengo que hacer que los números de A se cambien a B y los de B a A……
en verdad te agradeceria
Samsug 2d
Las matrices son una mierda
Marian
Muy buena
Víctor Cuervo
Nos alegra que te haya gustado Marian.
Saludos.