Ajuda nessa questão, se possível com explicação. Grato!

14/01/2021

0

Escreva um algoritmo que faça o cálculo da matriz resultante
do produto entre duas matrizes de tamanho 2x3 e 3x2,
considerando que o cálculo do produto entre duas matrizes é
obtido através da soma da multiplicação dos elementos das linhas
da matriz A pelos das colunas matriz B como no exemplo
abaixo:
Deve-se seguir a linha e a coluna correspondente a letra:

A = 1 x 1 + 2 x 3 + 3 x 5 = 1 + 6 + 15 = 22
B = 1 x 2 + 2 x 4 + 3 x 6 = 2 + 8 + 18 = 28
C = 4 x 1 + 5 x 3 + 6 x 5 = 4 + 15 + 30 = 49
D = 4 x 2 + 5 x 4 + 6 x 6 = 8 + 20 + 36 = 64
Matriz A
1 2 3
4 5 6

X
Matriz B
1 2 3
4 5 6
=
Matriz Resultante

A B
C D
Luiz

Luiz

Responder

Posts

14/01/2021

Emerson Nascimento


enunciado errado, não ?

produto entre duas matrizes de tamanho 2x3 e 3x2

Matriz A
1 2 3
4 5 6

X

Matriz B
1 2 3
4 5 6

são duas matrizes 2 x 3 .....

vou supor que as matrizes são as abaixo:

Matriz A
1 2 3
4 5 6

X

Matriz B
1 2 
3 4
5 6


segue exemplo com a saída formatada (como está tudo pronto, vou deixar você sofrer um pouco pra analisar o código)
<script>

document.write("<br><br><b>LESSON 1: RESULTING MATRIX</b><br><br>");

var matrixA = [[1, 2, 3], [4, 5, 6]];
var matrixB = [[1, 2], [3, 4], [5, 6]];
var matrixR = [[0,0], [0,0]];
var soma;
var letra = 65;

document.write('<b>A Matrix<b><br>');
for (var LinhaA=0; LinhaA<matrixA.length; LinhaA=LinhaA+1) {
	document.write('['+matrixA[LinhaA]+']');
	document.write('<br>');
}
document.write('<br>');

document.write('<b>B Matrix<b><br>');
for (var LinhaB=0; LinhaB<matrixB.length; LinhaB=LinhaB+1) {
	document.write('['+matrixB[LinhaB]+']');
	document.write('<br>');
}
document.write('<br>');

document.write('<b>Calculation<b>');
document.write('<br>');

for (var LinhaA=0; LinhaA<matrixA.length; LinhaA=LinhaA+1) {

	for (var ColunaB=0; ColunaB<matrixB[0].length; ColunaB=ColunaB+1) {
		let soma = 0;
   	    document.write(String.fromCharCode(letra)+' = ');

	    for (var ColunaA=0; ColunaA<matrixA[LinhaA].length; ColunaA=ColunaA+1) {
        	soma = soma + (matrixA[LinhaA][ColunaA] * matrixB[ColunaA][ColunaB]);

			document.write(matrixA[LinhaA][ColunaA]);
        	document.write("*");

	        document.write(matrixB[ColunaA][ColunaB])

			if (ColunaA<matrixA[LinhaA].length-1) {
				document.write(" + ");
			}
            else {
				document.write(" => ");
                document.write(soma);
			}

	    }
       	document.write("<br>");
		letra = letra + 1;

		matrixR[LinhaA][ColunaB] = soma;
	}

}
document.write('<br>');

document.write('<b>Resulting Matrix<b><br>');
for (var LinhaR=0; LinhaR<matrixR.length; LinhaR=LinhaR+1) {
	document.write('['+matrixR[LinhaR]+']');
	document.write('<br>');
}

</script>

<p style="color: green">
The content above was created with JavaScript.<br>
This content is created with <b>HTML</b>.<br>
</p>


para ter somente o resultado:
<script>

document.write("<br><br><b>LESSON 1: RESULTING MATRIX</b><br><br>");

var matrixA = [[1, 2, 3], [4, 5, 6]];
var matrixB = [[1, 2], [3, 4], [5, 6]];
var matrixR = [[0,0], [0,0]];
var soma;

for (var LinhaA=0; LinhaA<matrixA.length; LinhaA=LinhaA+1) {

	for (var ColunaB=0; ColunaB<matrixB[0].length; ColunaB=ColunaB+1) {
		let soma = 0;

	    for (var ColunaA=0; ColunaA<matrixA[LinhaA].length; ColunaA=ColunaA+1) {
        	soma = soma + (matrixA[LinhaA][ColunaA] * matrixB[ColunaA][ColunaB]);
	    }
		matrixR[LinhaA][ColunaB] = soma;
	}

}

document.write('<b>Resulting Matrix<b><br>');
for (var LinhaR=0; LinhaR<matrixR.length; LinhaR=LinhaR+1) {
	document.write('['+matrixR[LinhaR]+']');
	document.write('<br>');
}

</script>

<p style="color: green">
The content above was created with JavaScript.<br>
This content is created with <b>HTML</b>.<br>
</p>


esses códigos foram testados aqui:

https://js.do/


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar