// Recibe una matriz desordenada de cadenas y devuelve una matriz ordenada // de cadenas. //------------------------------------------------------------------------- public class OrdMatSolMat { public static void main(String RAFA[]) { String MAT[][] = {{"Adolfo", "Raton", "Adolfa"}, {"Rafa", "Monitor", "Teclado"}, {"Cpu", "Mesa", "Cañon"}}; String MAT_ORDENADA[][] = new String[MAT.length][MAT[0].length]; Imprime(MAT); MAT_ORDENADA = OrdenaMatriz(MAT); Imprime(MAT_ORDENADA); } static void Imprime(String MAT[][]) { String Renglon = ""; for (int r = 0; r < MAT.length; r++) { Renglon = ""; for (int c = 0; c < MAT[0].length; c++) Renglon += "\t" + MAT[r][c]; System.out.println(Renglon); } System.out.println("\n\n\n"); } static String[][] OrdenaMatriz(String MAT[][]) { String MAT_ORDENADA[][] = new String[MAT.length][MAT[0].length]; String AUX = ""; int r = 0, c = 0; for (int x = 0; x < MAT.length; x++) for (int y= 0; y < MAT[0].length; y++) { AUX = "zzzzzzzzzz"; for (int R = 0; R < MAT.length; R++) for (int C = 0; C < MAT[0].length; C++) if (MAT[R][C].compareTo("zzzzzzzzzz") != 0) if (AUX.compareTo(MAT[R][C]) > 0) { AUX = MAT[R][C]; r = R; c = C; } MAT_ORDENADA[x][y] = AUX; MAT[r][c] = "zzzzzzzzzz"; } return MAT_ORDENADA; } }