Multiplikation zweier Matrizen

C++C++Beginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden wir lernen, wie man die Multiplikation zweier Matrizen (2D-Arrays) in der Programmiersprache C++ berechnet. Wir werden es in einfache Schritte aufteilen, sodass auch neue Lerner ohne Schwierigkeiten folgen können.

Fügen Sie die erforderlichen Header-Dateien hinzu.

Wir werden eine neue Datei namens main.cpp im Verzeichnis ~/project mit dem folgenden Befehl erstellen:

touch ~/project/main.cpp

Im ersten Schritt müssen wir die erforderlichen Header-Dateien hinzufügen.

#include <iostream>

Wir werden die iostream-Datei verwenden, um Eingaben zu tätigen und Ausgaben anzuzeigen.

Definieren Sie die main()-Funktion

Im zweiten Schritt werden wir die Hauptfunktion deklarieren.

int main() {

Definieren Sie Variablen

Im dritten Schritt müssen wir Variablen deklarieren, um die eingegebenen Matrizen und das Multiplikationsergebnis zu speichern.

int row1, col1, row2, col2, i, j, k;
int m1[10][10], m2[10][10], pro[10][10];

Hier repräsentieren row1 und col1 die Anzahl der Zeilen und Spalten für die erste Matrix respective, und row2 und col2 die Anzahl der Zeilen und Spalten für die zweite Matrix respective. Die Variablen m1, m2 und pro stellen die beiden eingegebenen Matrizen und die Produktmatrix dar.

Beziehen Sie Eingaben vom Benutzer

Im vierten Schritt werden wir die Matrizen vom Benutzer erhalten.

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];
    }
}

Hier nehmen wir die Eingaben vom Benutzer für die Zeilen und Spalten der beiden Matrizen und geben dann die Eingaben für jedes Element der Matrizen ein.

Multiplizieren Sie Matrizen

Im fünften Schritt werden wir die Matrizen multiplizieren.

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]);
        }
    }
}

Hier überprüfen wir zunächst, ob die Matrizen für die Multiplikation gültig sind. Wenn ja, führen wir die Multiplikation wie in der Einführung erklärt durch.

Zeigen Sie Matrizen an

Im sechsten Schritt werden wir die Matrizen anzeigen.

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;
}

Wir zeigen zunächst die beiden Matrizen an und geben dann die resultierende Matrix aus.

Kompilieren und Ausführen des Codes

Um den Code zu kompilieren, öffnen Sie ein Terminal und navigieren Sie zum Verzeichnis, in dem die Code-Datei gespeichert ist. Führen Sie nun den folgenden Befehl aus, um den Code zu kompilieren:

g++ main.cpp -o main

Nachdem der Code erfolgreich kompiliert wurde, führen Sie den folgenden Befehl aus, um das Programm auszuführen:

./main

Zusammenfassung

Herzlichen Glückwunsch! Sie haben gelernt, wie man die Multiplikation zweier Matrizen in der Programmiersprache C++ berechnet. Wir haben gelernt, wie man überprüft, ob Matrizen für die Multiplikation gültig sind, wie man Matrizen multipliziert und wie man die Eingabe- und resultierenden Matrizen anzeigt. Wir haben den Code in einer Linux-Umgebung getestet und gelernt, wie man den Code kompiliert und ausführt.