Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โปรแกรม C++ คูณเมทริกซ์สองเมทริกซ์


ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมที่คูณเมทริกซ์สองเมทริกซ์

สำหรับสิ่งนี้ เราจะได้รับเมทริกซ์สองเมทริกซ์ และงานของเราคือพิมพ์ผลคูณของเมทริกซ์ทั้งสอง เงื่อนไขเดียวคือจำนวนคอลัมน์ของเมทริกซ์แรกต้องเท่ากับจำนวนแถวของเมทริกซ์ที่สอง

ตัวอย่างโค้ด C++

#include <iostream>
using namespace std;

#define N 4

// multiplying the elements of both matrices
void calc_product(int mat1[][N], int mat2[][N], int res[][N]){
    int i, j, k;
    for (i = 0; i < N; i++) {
        for (j = 0; j < N; j++){
            res[i][j] = 0;
            for (k = 0; k < N; k++)
                res[i][j] += mat1[i][k] * mat2[k][j];
        }
    }
}

int main(){
    int i, j;
    int res[N][N];
    int mat1[N][N] = {{1, 1, 1, 1},
        {2, 2, 2, 2},
        {3, 3, 3, 3},
        {4, 4, 4, 4}};
    int mat2[N][N] = {{1, 1, 1, 1},
        {2, 2, 2, 2},
        {3, 3, 3, 3},
        {4, 4, 4, 4}};
    calc_product(mat1, mat2, res);
    cout << "Resultant matrix :\n";
    for (i = 0; i < N; i++){
        for (j = 0; j < N; j++)
            cout << res[i][j] << " ";
        cout << "\n";
    }
    return 0;
}

ผลลัพธ์

Resultant matrix :
10 10 10 10
20 20 20 20
30 30 30 30
40 40 40 40