GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Soma de Matrizes

python
Tags: #<Tag:0x00007fb3c86f8eb0>

#1

Boa tarde,

Estou tentando desenvolver um algorítimo que some duas matrizes
exemplo: M[2][2] e N[2][2].

Até o momento consegui desenvolver o seguinte código:

matriz = []
soma = []
linhas = int (input("Digite o numero pedido de linhas da Matriz:"))
colunas = int (input("Digite o numero pedido de colunas da Matriz:"))

def contrutorMatriz (linhas, colunas, matriz):
    for i in range(1, linhas+1):
        naLinha = []
        for j in range (1, colunas+1):
            x = int(input("Digite o elementro %i%i da matriz:" % (i,j)))
            naLinha.append(x)
            matriz.append(naLinha)

def somarMatriz (lin, colun, matriz):
    lin = linhas
    colun = colunas

    for i in range(linhas,):
        soma.append([])
        for j in range(colunas):
            x = linhas[i][j]+colunas[i][j]
            somarMatriz[i].append(x)

contrutorMatriz(linhas, colunas, matriz)
print(matriz)

print(somarMatriz)

Criando uma matriz de 2 linhas e 2 colunas com valores 1 1 2 2 tenho seguinte resultado:

Digite o numero pedido de linhas da Matriz:2
Digite o numero pedido de colunas da Matriz:2
Digite o elementro 11 da matriz:1
Digite o elementro 12 da matriz:1
Digite o elementro 21 da matriz:2
Digite o elementro 22 da matriz:2
[[1, 1], [1, 1], [2, 2], [2, 2]]
<function somarMatriz at 0x0000020BA18811E0>

Na ultima opção não aprece o resultado da soma dos valores das duas matrizes mas a referencia
"<function somarMatriz at 0x0000020BA18811E0>"

Agradeço a ajuda para somar os valores das duas matriz.


#2

Não entendi o que você quer fazer em somarMatriz. Se você quer somar duas matrizes distintas, você deveria passar elas como parâmetro em somarMatriz e fazer um ‘for’ com um contador. Por exemplo:

def somarMatriz(matriz1, matriz2):
soma = 0
for i in range(len(matriz1)):
for j in range(len(matriz2)):
soma += matriz1[i][j] + matriz2[i][j]

return soma

Creio que seja isso que você queira fazer. Além, disso esse script só funciona em matrizes de mesmo tamanho. Espero ter ajudado. Abraços.