Introdução
Neste laboratório, aprenderemos como encontrar a multiplicação de duas matrizes (arrays 2D) na linguagem de programação C++. Vamos dividi-lo em passos simples, para que mesmo os novos aprendizes possam acompanhar sem qualquer dificuldade.
Incluir os arquivos de cabeçalho necessários
Criaremos um novo arquivo chamado main.cpp no diretório ~/project usando o seguinte comando:
touch ~/project/main.cpp
No primeiro passo, precisamos incluir os arquivos de cabeçalho necessários.
#include <iostream>
Usaremos o arquivo iostream para receber entrada e exibir a saída.
Definir a função main()
No segundo passo, declararemos a função main.
int main() {
Definir Variáveis
No terceiro passo, precisamos declarar variáveis para armazenar as matrizes de entrada e o resultado da multiplicação.
int row1, col1, row2, col2, i, j, k;
int m1[10][10], m2[10][10], pro[10][10];
Aqui, row1 e col1 representam o número de linhas e colunas para a primeira matriz, respectivamente, e row2 e col2 representam o número de linhas e colunas para a segunda matriz, respectivamente. As variáveis m1, m2 e pro representam as duas matrizes de entrada e a matriz produto.
Obter entrada do usuário
No quarto passo, obteremos as matrizes do usuário.
std::cout << "\nEnter the number of Rows and Columns of first matrix : ";
std::cin >> row1 >> col1;
std::cout << "\nEnter the number of Rows and Columns of second matrix : ";
std::cin >> row2 >> col2;
// input of first matrix
std::cout << "\nEnter the " << row1 * col1 << " elements of first matrix : \n";
for (i = 0; i < row1; i++) {
for (j = 0; j < col1; j++) {
std::cin >> m1[i][j];
}
}
// input of second matrix
std::cout << "\nEnter the " << row2 * col2 << " elements of second matrix : \n";
for (i = 0; i < row2; i++) {
for (j = 0; j < col2; j++) {
std::cin >> m2[i][j];
}
}
Aqui, pegamos a entrada do usuário para linhas e colunas das duas matrizes e, em seguida, pegamos a entrada para cada elemento das matrizes.
Multiplicar Matrizes
No quinto passo, multiplicaremos as matrizes.
if (col1 == row2) {
for (i = 0; i < row1; i++) {
for (j = 0; j < col2; j++) {
pro[i][j] = 0;
for (k = 0; k < col1; k++)
pro[i][j] = pro[i][j] + (m1[i][k] * m2[k][j]);
}
}
}
Aqui, primeiro verificamos se as matrizes são válidas para multiplicação. Se forem, realizamos a multiplicação conforme explicado na introdução.
Exibir matrizes
No sexto passo, exibiremos as matrizes.
std::cout << "\nThe first matrix is : \n";
for (i = 0; i < row1; i++) {
for (j = 0; j < col1; j++) {
std::cout << m1[i][j] << " ";
}
std::cout << std::endl;
}
std::cout << "\nThe second matrix is : \n";
for (i = 0; i < row2; i++) {
for (j = 0; j < col2; j++) {
std::cout << m2[i][j] << " ";
}
std::cout << std::endl;
}
std::cout << "\nThe Product matrix is : \n";
for (i = 0; i < row1; i++) {
for (j = 0; j < col2; j++) {
std ::cout << pro[i][j] << " ";
}
std::cout << std::endl;
}
Primeiro exibimos as duas matrizes e, em seguida, exibimos a matriz resultante.
Compilar e executar o código
Para compilar o código, abra um terminal e navegue até o diretório onde o arquivo de código foi salvo. Agora, execute o seguinte comando para compilar o código:
g++ main.cpp -o main
Após o código ser compilado com sucesso, execute o seguinte comando para executar o programa:
./main
Resumo
Parabéns! Você aprendeu como encontrar a multiplicação de duas matrizes na linguagem de programação C++. Aprendemos como verificar se as matrizes são válidas para multiplicação, como multiplicar matrizes e como exibir as matrizes de entrada e resultantes. Testamos o código em um ambiente Linux e aprendemos como compilar e executar o código.



