OrdenaMatriz_A_Matriz.java_



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