Algoritmo OrdenarMatrizEquitativa
// Función para sumar los elementos de un renglón
Función SumaRenglón(matriz, renglón, columnas)
suma = 0
Para cada elemento en matriz[renglón]
suma += elemento
Fin Para
devolver suma
Fin Función
// Función para sumar los elementos de una columna
Función SumaColumna(matriz, columna, renglones)
suma = 0
Para cada fila en matriz
suma += fila[columna]
Fin Para
devolver suma
Fin Función
// Función para intercambiar dos renglones de la matriz
Procedimiento IntercambiarRenglones(matriz, renglón1, renglón2, columnas)
Para cada columna de 1 a columnas
temp = matriz[renglón1][columna]
matriz[renglón1][columna] = matriz[renglón2][columna]
matriz[renglón2][columna] = temp
Fin Para
Fin Procedimiento
// Función para ordenar la matriz
Procedimiento OrdenarMatriz(matriz, renglones, columnas)
// Calcula la suma de la primera columna y la compara con las sumas de los renglones
sumaPrimeraColumna = SumaColumna(matriz, 1, renglones)
Para cada renglón de 1 a renglones
sumaRenglón = SumaRenglón(matriz, renglón, columnas)
Si sumaRenglón <> sumaPrimeraColumna
// Busca un renglón que tenga la misma suma que la primera columna y lo intercambia
Para cada otroRenglón de 1 a renglones
sumaOtroRenglón = SumaRenglón(matriz, otroRenglón, columnas)
Si sumaOtroRenglón = sumaPrimeraColumna
IntercambiarRenglones(matriz, renglón, otroRenglón, columnas)
Salir
Fin Si
Fin Para
Fin Si
Fin Para
Fin Procedimiento
// Ejemplo de uso
// (Debes llenar tu matriz con los valores correspondientes antes de llamar a la función)
matriz = [[2, 6, 9], [8, 4, 5], [7, 7, 3]]
renglones = 3
columnas = 3
// Llama a la función para ordenar la matriz
OrdenarMatriz(matriz, renglones, columnas)
// Imprime la matriz ordenada
Para cada fila en matriz
Imprimir fila
Fin Para
Fin Algoritmo