Ejercicio: 3Eva_IIT2010_T1 Matriz con aleatorios no repetidos (desordena)
Propuesta de solución en Python:
# ICM00794-Fundamentos de Computación - FCNM-ESPOL # 3Eva_IIT2010_T1 Matriz con aleatorios no repetidos (desordena) # Propuesta: edelros@espol.edu.ec # Tarea: integrar con tema 3 import numpy as np import random as rnd def desordena(n): matriz = -1*np.ones(shape=(n,n), dtype=int) usados = [] # entero aleatorio [0,n**2), no incluye n**2 intervalo = n**2 fila = 0 while not(fila>=n): columna = 0 while not(columna>=n): # numero no repetido numero = int(rnd.random()*intervalo)+0 while numero in usados: numero = int(rnd.random()*intervalo)+0 matriz[fila,columna] = numero usados.append(numero) columna = columna + 1 fila = fila + 1 return(matriz)
resultado del algoritmo:
>>> desordena(3) array([[0, 7, 2], [6, 5, 8], [4, 1, 3]]) >>> desordena(3) array([[7, 3, 6], [8, 1, 0], [5, 2, 4]]) >>>