Faça um programa para:
calcular e mostrar a matriz
, de dimensões
, que é o produto das matrizes
e
.
calcular e mostrar a matriz
Passo 1
Beleza, o exercício pede que a gente faça um programa que receba duas matrizes A e B e devolva a matriz C = A·B, sendo A de tamanho M×N, B de tamanho N×K e C de tamanho M×K.
Conteúdo: multiplicação de matrizes.
O que vamos precisar:
Conteúdo: multiplicação de matrizes.
O que vamos precisar:
- Saber que pra multiplicar A por B, o número de colunas de A (N) tem que ser igual ao número de linhas de B (N).
- Entender que cada elemento C[i][j] é a soma do produto dos elementos da linha i de A pelos elementos da coluna j de B.
- Usar três loops aninhados (i, j e um índice pra somar os produtos).
Passo 2
Antes de codar, vamos ver a teoria do somatório que rola aqui.
Para cada par de índices (i, j):
C[i][j] = ∑_{l=1}^{N} A[i][l] · B[l][j]
Isso significa que você fixa a linha i de A e a coluna j de B, multiplica cada par correspondente e soma tudo. É só um somatório mesmo.
Para cada par de índices (i, j):
C[i][j] = ∑_{l=1}^{N} A[i][l] · B[l][j]
Isso significa que você fixa a linha i de A e a coluna j de B, multiplica cada par correspondente e soma tudo. É só um somatório mesmo.
Passo 3
Pra implementar em pseudocódigo, precisamos:
- Inicializar C com zeros (tamanho M×K).
- Fazer um loop i de 1 até M (linhas de A / C).
- Dentro dele, um loop j de 1 até K (colunas de B / C).
- Dentro desses dois, outro loop l de 1 até N pra computar o produto e acumular na variável soma.
- Atribuir a soma a C[i][j].
Passo 4
Pseudocódigo usando LaTeX pra fórmula:
Para i = 1 até M faça
Para j = 1 até K faça
soma ← 0
Para l = 1 até N faça
soma ← soma + A[i][l] * B[l][j]
FimPara
C[i][j] ← soma
FimPara
FimPara
// Ao final, mostre C
Resposta
A matriz C de dimensão M×K obtida é dada por
para todo
e
.