Boa tarde,
Tenho que fazer uma alteração neste código,
import random
tamanho = 9
matriz = []
linha = []
for elemento in range(1, tamanho + 1):
a = str(elemento)
for elemento in range(1, tamanho + 1):
b = str(elemento)
matriz.append(a + b)
print(matriz)
col = str(random.randrange(1,tamanho,1))
print ('Coluna: ', col)
lin = str(random.randrange(1,tamanho,1))
print ('Linha: ', lin)
if (tamanho%2 == 0):
meio = str((tamanho//2)-1)
else:
meio = str(tamanho//2) #+1)
print('Meio: ', meio)
cont = int(meio)
for item in matriz:
if item not in linha and item[1] == col:
linha.append(item)
if item[0] == lin and item[1] == col:
indice = matriz.index(item) + 1
nova = matriz[indice : indice + cont]
linha.extend(nova)
print('Resultado: ')
print(linha)
for result in linha:
print('padrao[' + result + ']', end=' = ')
Repare que ele apenas pega metade+1 da linha a partir da coluna. Algo assim:
Se a coluna escolhida fosse 5 e a linha 2, por exemplo, eu pegaria toda a coluna e apenas 4 elementos da linha (7/2 = 3 +1).
assim a saída seria:
15 25 26 27 31 35 45 55 65 75
Repare que fui obrigado a pegar o 31, pois 4 elementos da linha 2 a partir da coluna ficaria: 15 (1º elemento da coluna), 25(coluna e primeiro elemento da linha), 26 (segundo elemento da linha), 27 (3º elemento), 31 (4º elemento, já que não existe o 28), depois 35, 45, 55, 65 e 75.
Por fim, a saída final tem que ser assim: padrao[15] = padrao[25] = padrao[26] = padrao[27] = padrao[31] = padrao[35] = padrao[45] = padrao[55] = padrao[65] = padrao[75]
O código em python acima até funcionou para matrizes pequenas, porém quando tentei fazer a matriz 145x145 ficou horas processando sem uma saída.
Alguém poderia me auxiliar para converter este código para outra linguagem que possa ser computacionalmente melhor? Poderia
ser C/C++ ou shell script, ou sei lá.