38
import random
import time
def generar_matriz():
# Crear matriz 10x10 con números aleatorios
matriz = [[[Link](1, 99) for _ in range(10)] for _ in range(10)]
return matriz
def mostrar_matrices(original, ordenada):
# Mostrar ambas matrices lado a lado
print("\n{:<60}{}".format("Matriz Original", "Matriz Ordenada"))
print("{:<60}{}".format("+" + "-"*58 + "+", "+" + "-"*58 + "+"))
for fila_orig, fila_ord in zip(original, ordenada):
# Mostrar fila original
linea_orig = "|"
for num in fila_orig:
linea_orig += f" {num:2d} |"
# Mostrar fila ordenada
linea_ord = "|"
for num in fila_ord:
linea_ord += f" {num:2d} |"
print("{:<60}{}".format(linea_orig, linea_ord))
print("{:<60}{}".format("+" + "-"*58 + "+", "+" + "-"*58 + "+"))
def ordenar_matriz(matriz):
# Aplanar la matriz para ordenar todos los elementos
elementos = [num for fila in matriz for num in fila]
[Link]()
# Reconstruir la matriz ordenada por filas
ordenada = []
for i in range(10):
fila = elementos[i*10 : (i+1)*10]
[Link](fila)
return ordenada
def main():
# Generar matriz original
print("Generando matriz 10x10 con números aleatorios...")
matriz_original = generar_matriz()
# Ordenar la matriz
print("\nOrdenando la matriz...")
matriz_ordenada = ordenar_matriz(matriz_original)
# Mostrar ambas matrices
mostrar_matrices(matriz_original, matriz_ordenada)
if __name__ == "__main__":
main()