Introduction
Dans ce laboratoire, nous allons apprendre à trouver la multiplication de deux matrices (tableaux 2D) dans le langage de programmation C++. Nous allons le diviser en étapes simples, de sorte que même les nouveaux apprenants puissent suivre sans difficulté.
Inclure les fichiers d'en-tête nécessaires
Nous allons créer un nouveau fichier nommé main.cpp dans le répertoire ~/project en utilisant la commande suivante :
touch ~/project/main.cpp
Dans la première étape, nous devons inclure les fichiers d'en-tête nécessaires.
#include <iostream>
Nous utiliserons le fichier iostream pour prendre des entrées et afficher des sorties.
Définir la fonction main()
Dans la deuxième étape, nous allons déclarer la fonction principale.
int main() {
Définir des variables
Dans la troisième étape, nous devons déclarer des variables pour stocker les matrices d'entrée et le résultat de la multiplication.
int row1, col1, row2, col2, i, j, k;
int m1[10][10], m2[10][10], pro[10][10];
Ici, row1 et col1 représentent respectivement le nombre de lignes et de colonnes de la première matrice, et row2 et col2 représentent respectivement le nombre de lignes et de colonnes de la seconde matrice. Les variables m1, m2 et pro représentent les deux matrices d'entrée et la matrice produit.
Obtenir des entrées de l'utilisateur
Dans la quatrième étape, nous allons obtenir les matrices de l'utilisateur.
std::cout << "\nEntrez le nombre de lignes et de colonnes de la première matrice : ";
std::cin >> row1 >> col1;
std::cout << "\nEntrez le nombre de lignes et de colonnes de la seconde matrice : ";
std::cin >> row2 >> col2;
// entrée de la première matrice
std::cout << "\nEntrez les " << row1 * col1 << " éléments de la première matrice : \n";
for (i = 0; i < row1; i++) {
for (j = 0; j < col1; j++) {
std::cin >> m1[i][j];
}
}
// entrée de la seconde matrice
std::cout << "\nEntrez les " << row2 * col2 << " éléments de la seconde matrice : \n";
for (i = 0; i < row2; i++) {
for (j = 0; j < col2; j++) {
std::cin >> m2[i][j];
}
}
Ici, nous prenons les entrées de l'utilisateur pour le nombre de lignes et de colonnes des deux matrices, puis prenons l'entrée pour chaque élément des matrices.
Multiplier des matrices
Dans la cinquième étape, nous allons multiplier les matrices.
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]);
}
}
}
Ici, nous vérifions d'abord si les matrices sont valides pour la multiplication. Si c'est le cas, nous effectuons la multiplication comme expliqué dans l'introduction.
Afficher des matrices
Dans la sixième étape, nous allons afficher les matrices.
std::cout << "\nLa première matrice est : \n";
for (i = 0; i < row1; i++) {
for (j = 0; j < col1; j++) {
std::cout << m1[i][j] << " ";
}
std::cout << std::endl;
}
std::cout << "\nLa deuxième matrice est : \n";
for (i = 0; i < row2; i++) {
for (j = 0; j < col2; j++) {
std::cout << m2[i][j] << " ";
}
std::cout << std::endl;
}
std::cout << "\nLa matrice Produit est : \n";
for (i = 0; i < row1; i++) {
for (j = 0; j < col2; j++) {
std ::cout << pro[i][j] << " ";
}
std::cout << std::endl;
}
Nous affichons d'abord les deux matrices puis la matrice résultante.
Compiler et exécuter le code
Pour compiler le code, ouvrez un terminal et accédez au répertoire où le fichier de code est enregistré. Maintenant, exécutez la commande suivante pour compiler le code :
g++ main.cpp -o main
Une fois le code compilé avec succès, exécutez la commande suivante pour exécuter le programme :
./main
Résumé
Félicitations ! Vous avez appris à trouver la multiplication de deux matrices dans le langage de programmation C++. Nous avons appris à vérifier si des matrices sont valides pour la multiplication, à multiplier des matrices et à afficher les matrices d'entrée et les matrices résultantes. Nous avons testé le code dans un environnement Linux et avons appris à compiler et à exécuter le code.



