Soma de Matrizes

1 resposta
python
R

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.

1 Resposta

N

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.

Criado 21 de novembro de 2017
Ultima resposta 19 de mar. de 2018
Respostas 1
Participantes 2