Ejemplo:
Array Original... 7 7 3 1 10 2 8 8 3 9 2 5 5 8 3 10 5 4 4 6 4 3 1 6 5 6 2 7 8 10 3 10 4 3 9 2 3 5 8 1 9 6 8 3 9 Array transpuesto... 7 2 2 10 4 6 3 2 9 7 8 5 5 3 2 10 3 6 3 8 5 4 1 7 4 5 8 1 3 8 4 6 8 3 8 3 10 9 3 6 5 10 9 1 9
SOLUCIÓN EN JAVA:
package transponerarrays; public class TransponerArrays { //Genero un array bidimensional del tamaña que indican como parámetro las filas y las columnas //de números aleatorios entre 1 y 10 static int[][] generaArrayAleatorio(int filas, int columnas){ int[][] matriz=new int[filas][columnas]; int i,j; for (i=0 ; i < matriz.length ; i++){ for (j=0 ; j < matriz[i].length ; j++){ matriz[i][j] = (int)(Math.random()*10+1); } } return matriz; } //Muestro el array bidimensional que pasan como parámetro e imprimo línea por línea static void muestraArray(int[][] matriz){ int i,j; for (i=0; i < matriz.length ; i++){ for (j=0 ; j < matriz[i].length ; j++){ System.out.printf("%3d", matriz[i][j]); } System.out.println(); } } //Con esta función intercambio filas por columnas. A partir del array que recibe //como parámetro genera otro array transpuesto. static int[][] transponer(int[][] matriz){ int[][] resultado=new int[matriz[0].length][matriz.length]; int filas,columnas; for (columnas=0 ; columnas < matriz[0].length ; columnas++){ for (filas=0 ; filas < matriz.length ; filas++){ resultado[columnas][filas]=matriz[filas][columnas]; } } return resultado; } public static void main(String[] args) { int [][]matriz; matriz=generaArrayAleatorio(9,5); System.out.println("Array Original..."); muestraArray(matriz); System.out.println(); System.out.println("Array transpuesto..."); matriz=transponer(matriz); muestraArray(matriz); } }