// 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;
}
}