Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Multiplicação de Matrizes | Trabalhando com Arrays 2D
Arrays em C#

Multiplicação de Matrizes

Deslize para mostrar o menu

A multiplicação de matrizes é uma operação fundamental em matemática e programação, especialmente ao trabalhar com arrays 2D, também chamados de matrizes. Para multiplicar duas matrizes, é necessário seguir regras específicas: o número de colunas da primeira matriz deve ser igual ao número de linhas da segunda matriz. O resultado da multiplicação de uma matriz m x n por uma matriz n x p é uma nova matriz m x p. Cada elemento da matriz resultante é calculado realizando o produto escalar de uma linha da primeira matriz com uma coluna da segunda matriz.

MatrixMultiplication.cs

MatrixMultiplication.cs

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
using System; namespace ConsoleApp { public class MatrixMultiplication { public static void Main(string[] args) { int[,] matrixA = { {1, 2, 3}, {4, 5, 6} }; int[,] matrixB = { {7, 8}, {9, 10}, {11, 12} }; int rowsA = matrixA.GetLength(0); int colsA = matrixA.GetLength(1); int rowsB = matrixB.GetLength(0); int colsB = matrixB.GetLength(1); if (colsA != rowsB) { Console.WriteLine("Cannot multiply: incompatible matrix sizes."); return; } int[,] result = new int[rowsA, colsB]; for (int i = 0; i < rowsA; i++) { for (int j = 0; j < colsB; j++) { int sum = 0; for (int k = 0; k < colsA; k++) { sum += matrixA[i, k] * matrixB[k, j]; } result[i, j] = sum; } } Console.WriteLine("Result of matrix multiplication:"); for (int i = 0; i < rowsA; i++) { for (int j = 0; j < colsB; j++) { Console.Write(result[i, j] + " "); } Console.WriteLine(); } } } }

Para entender como a multiplicação de matrizes funciona, siga estes passos com base no código acima:

  1. Verifique as dimensões: a primeira matriz (matrixA) possui 3 colunas e a segunda matriz (matrixB) possui 3 linhas, o que significa que a multiplicação é possível;
  2. Crie uma matriz de resultado com o mesmo número de linhas de matrixA e o mesmo número de colunas de matrixB;
  3. Utilize três loops aninhados:
    • O loop externo percorre cada linha da primeira matriz;
    • O loop do meio percorre cada coluna da segunda matriz;
    • O loop interno calcula a soma dos produtos para a linha e coluna atuais, multiplicando os elementos correspondentes e somando-os;
  4. Atribua o valor calculado à célula apropriada na matriz de resultado;
  5. Imprima o resultado em um formato legível.
IncompatibleMatrices.cs

IncompatibleMatrices.cs

12345678910111213141516171819202122232425262728293031
using System; namespace ConsoleApp { public class IncompatibleMatrices { public static void Main(string[] args) { int[,] matrixA = { {1, 2}, {3, 4} }; int[,] matrixB = { {5, 6, 7} }; int colsA = matrixA.GetLength(1); int rowsB = matrixB.GetLength(0); if (colsA != rowsB) { Console.WriteLine("Cannot multiply: the number of columns in the first matrix does not match the number of rows in the second matrix."); return; } // This code will not be reached because the matrices are incompatible. } } }

Este exemplo verifica se duas matrizes podem ser multiplicadas. Define matrixA (2×2) e matrixB (1×3), depois compara o número de colunas da primeira matriz com o número de linhas da segunda. Como esses valores não coincidem, o programa exibe uma mensagem de incompatibilidade e é encerrado. Demonstra como validar as dimensões das matrizes antes de realizar a multiplicação.

Note
Definição

Multiplicação de matrizes é o processo de combinar duas matrizes para produzir uma nova matriz, multiplicando as linhas da primeira matriz pelas colunas da segunda matriz e somando os produtos.

1. Quais são os requisitos para multiplicar duas matrizes?

2. Quantos laços aninhados normalmente são necessários para multiplicação de matrizes?

3. O que acontece se as matrizes tiverem tamanhos incompatíveis?

question mark

Quais são os requisitos para multiplicar duas matrizes?

Selecione a resposta correta

question mark

Quantos laços aninhados normalmente são necessários para multiplicação de matrizes?

Selecione a resposta correta

question mark

O que acontece se as matrizes tiverem tamanhos incompatíveis?

Selecione a resposta correta

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 5

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Seção 4. Capítulo 5
some-alt