import random #Realizar un algoritmo en Java o Python para llenar datos de una matriz de orden n*m con #números enteros aleatorios de más de dos cifras. Si la matriz es orden cuadrática agregar una #fila caso contrario agregar una columna. Para obtener los datos de la nueva fila o columna #considerar los índices de cada posición y todas las posiciones adyacentes, si la suma de los #índices es par el nuevo dato es la suma de los dígitos pares; caso contrario el nuevo dato es #la #suma de los dígitos impares. Ordenar la matriz por el método de selección. Imprimir los valores #de la matriz original y ordenada de manera ascendente. Evaluar el tiempo de ejecución del #método de ordenamiento con 10 tamaños diferentes de la matriz. def llenar_matriz(n, m): matriz = [] for i in range(n): fila = [] for j in range(m): num = random.randint(10, 99) fila.append(num) matriz.append(fila) if n == m: nueva_fila = [] for i in range(m): nueva_fila.append(0) matriz.append(nueva_fila) else: for fila in matriz: fila.append(0) return matriz def imprimir_matriz(matriz): for fila in matriz: print(" ".join(map(str, fila))) def obtener_valor_valido(matriz, i, j): if 0 <= i < len(matriz) and 0 <= j < len(matriz[0]): return matriz[i][j] return 0 def sumar_impares_adiacentes(matriz): for i in range(len(matriz)): for j in range(len(matriz[i])): if matriz[i][j] == 0: suma = 0 for x in range(-1, 2): for y in range(-1, 2): if x != 0 or y != 0: valor = obtener_valor_valido(matriz, i+x, j+y) for dígito in str(valor): if int(dígito) % 2 != 0: suma += int(dígito) matriz[i][j] = suma return matriz # Ejemplo de uso n = 3 m = 3 matriz = llenar_matriz(n, m) print("Matriz original:") imprimir_matriz(matriz) print() print("Matriz con suma de digitos impares en posiciones adyacentes:") imprimir_matriz(sumar_impares_adiacentes(matriz))