Java. Ejemplo Matriz Traspuesta de otra matriz.

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 | import java.io.*; /** * * @author masar */ public class CEntDatos { public static String inicial ( ) { String datointroducido = "" ; try { // Definimos un flujo de caracteres de entrada. InputStreamReader flujo= new InputStreamReader ( System.in ); // Creamos un objeto de esta clase que almacenará la información en un bufer. BufferedReader teclado = new BufferedReader ( flujo ); // Introducimos la entrada y la asignamos a una variable. datointroducido = teclado .readLine(); } catch (IOException e){ System.err .print ( "Error: " + e.getMessage ( ) ); } return datointroducido ; } //------------------------------------------------------------------------ public static int entero( ) { try { return Integer.parseInt( inicial( ) ); } catch ( NumberFormatException e ) { return Integer. MIN_VALUE; // valor más pequeño. } } //------------------------------------------------------------------------ public static double real( ) { try { return Double.parseDouble ( inicial( ) ); } catch ( NumberFormatException e ) { return Double. NaN; // No es un número. } } //------------------------------------------------------------------------ public static String cadena() { return inicial( ); } //------------------------------------------------------------------------ static char caracter() { String valor= inicial(); return valor.charAt(0); } } |
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 51 52 53 54 55 56 | package matriztraspuesta; /** * * @author codesitio.com */ public class MatrizTraspuesta { public static void main(String[] args) { int tablaA[][]=new int[3][3]; int tablaTrasp[][]=new int[3][3]; int elemen; //introducimos números en la Matriz A System.out.println("Introduce los números en la Matriz A:"); for(int i=0;i<3;i++){ for(int j=0;j<3;j++){ System.out.print("Fila "+(i+1)+" Columna "+(j+1)+" = "); tablaA[i][j]=CEntDatos.entero(); } } System.out.println(""); //Mostramos los números introducidos System.out.println("Esta es la matriz introducida:"); System.out.println(""); System.out.println("MATRIZ A"); System.out.println("-----------"); for(int i=0;i<3;i++){ for(int j=0;j<3;j++){ System.out.print(tablaA[i][j]+" "); if(j==2){ System.out.println(""); } } } //MATRIZ TRASPUESTA System.out.println("la Matriz Traspuesta de la Matriz A es: "); for(int i=0;i<3;i++){ for(int j=0;j<3;j++){ tablaTrasp [i][j] = tablaA[j][i]; System.out.print(tablaTrasp [i][j]+" "); //Para presentar mejor la matriz en consola if(j==2){ System.out.println(""); } } } } } |

En este ejemplo vemos una manera sencilla de crear un programa en java para hayar la matriz traspuesta de una matriz dada. Una Matriz traspuesta surge de intercambiar los elementos de una fila y situarlos en columna. Por ejemplo los elementos de la matriz situados en la fila 0 pasarian a formar parte de la columna 0, los de la fila 1 pasarian a la columna 1 y asi hasta completar la dimensión de la Matriz
Como vemos el algoritmo empleado es muy simple, tan solo hay que hacer un cambio de posición en los índices i y j. En este caso este mismo algoritmo podria emplearse en matrices de mayor dimensión, siempre que este formada por filas y columnas. En el caso de Matrices tridimensionales lógicamente no podría aplicarse, ya que son 3 y no 2 los índices que entran en juego.