Program Perkalian Matriks C++

1 komentar
Program Perkalian Matriks Bahasa C++
Program yang akan saya bagikan kali ini adalah program untuk menghitung perkalian 2 buah matriks. Program ini akan sangat membantu untuk mempercepat pengguna dalam menghitung perkalian matriks.

Penjelasan Program

ini akan menghitung hasil kali dari matriks 1 dan matriks 2, jumlah baris (row) dan kolom (culomn) akan ditentukan oleh pengguna. Dengan syarat, jumlah kolom matriks 1 harus sama dengan jumlah baris matriks 2 (JmlhKolom M1 = JmlhBaris M2).

Selanjutnya program akan meminta pengguna untuk memasukan nilai dari baris, dan kolom matriks 1 dan 2. Setelah selesai memasukan nilai, maka, program akan menampilkan kedua matriks tersebut, dan menampilkan matriks hasil kali kedua matriks tersebut.

Kode Program (Source Code)

#include <iostream>
using namespace std;

int main(){
int nBrs, nBrs2;
int nKlm, nKlm2;
int jumlah = 0;
int cek=1;

do{
cout<<"Masukan jumlah baris Matrix 1 = ";cin>>nBrs;
cout<<"Masukan jumlah kolom Matrix 1 = ";cin>>nKlm;
cout<<"Masukan jumlah baris Matrix 2 = ";cin>>nBrs2;
cout<<"Masukan jumlah kolom Matrix 2 = ";cin>>nKlm2;

if(nKlm != nBrs2){
cout<<"Matriks tidak dapat dikali, mohon ulangi..."<<endl;
cout<<"( kolom matriks 1 tidak sama dengan baris matriks 2! )"<<endl;
cek=0;
}else{cek=1;}
cout<<endl;
}while(cek==0);

int matrix [nBrs][nKlm];
int matrix2 [nBrs][nKlm];
int matrixHasil [nBrs][nKlm];


for(int b=0; b<nBrs; b++){
for(int k=0; k<nKlm; k++){
cout<<"Matrix ke-1 baris "<<b+1<<" kolom "<<k+1<<": ";
cin>>matrix[b][k];
}
}

for(int b2=0; b2<nBrs2; b2++){

for(int k2=0; k2<nKlm2; k2++){
cout<<"Matrix ke-2 baris "<<b2+1<<" kolom "<<k2+1<<": ";
cin>>matrix2[b2][k2];
}
}

cout<<endl;
cout<<"Matriks ke 1"<<endl;
for(int cb=0; cb<nBrs; cb++){
cout<<"[\t";

for(int ck=0; ck<nKlm; ck++){
cout<<matrix[cb][ck]<<"\t";

}
cout<<"]"<<endl;
}

cout<<endl;
cout<<"Matriks ke 2"<<endl;
for(int cb2=0; cb2<nBrs2; cb2++){
cout<<"[\t";

for(int ck2=0; ck2<nKlm2; ck2++){
cout<<matrix2[cb2][ck2]<<"\t";

}
cout<<"]"<<endl;
}

for(int i = 0; i < nBrs; i++){
for(int j = 0; j < nKlm2; j++){
for(int k = 0; k <nBrs2; k++){
jumlah = jumlah + matrix[i][k] * matrix2[k][j];
}
matrixHasil[i][j] = jumlah;
jumlah = 0;
}
}

cout<<endl;
cout << "Hasil perkalian matriks: \n";
for(int i = 0; i < nBrs; i++){
cout<<"[\t";
for(int j = 0; j < nKlm2; j++){
cout << matrixHasil[i][j] << "\t";
}
cout<<"]";
cout << endl;
}


return 0;
}

Contoh Hasil Outputnya 


Masukan jumlah baris Matrix 1 = 2
Masukan jumlah kolom Matrix 1 = 3
Masukan jumlah baris Matrix 2 = 4
Masukan jumlah kolom Matrix 2 = 2
Matriks tidak dapat dikali, mohon ulangi...
( kolom matriks 1 tidak sama dengan baris matriks 2! )

Masukan jumlah baris Matrix 1 = 2
Masukan jumlah kolom Matrix 1 = 3
Masukan jumlah baris Matrix 2 = 3
Masukan jumlah kolom Matrix 2 = 2

Matrix ke-1 baris 1 kolom 1: 1
Matrix ke-1 baris 1 kolom 2: 3
Matrix ke-1 baris 1 kolom 3: 2
Matrix ke-1 baris 2 kolom 1: 4
Matrix ke-1 baris 2 kolom 2: 3
Matrix ke-1 baris 2 kolom 3: 5
Matrix ke-2 baris 1 kolom 1: 2
Matrix ke-2 baris 1 kolom 2: 3
Matrix ke-2 baris 2 kolom 1: 4
Matrix ke-2 baris 2 kolom 2: 2
Matrix ke-2 baris 3 kolom 1: 1
Matrix ke-2 baris 3 kolom 2: 4

Matriks ke 1
[ 1 3 2 ]
[ 4 3 5 ]

Matriks ke 2
[ 2 3 ]
[ 4 2 ]
[ 1 4 ]

Hasil perkalian matriks:
[ 16 17 ]
[ 25 38 ]

[Program finished]
Diffa Aziz
Seorang Blogger Biasa

Related Posts

1 komentar

  1. There are around a hundred twenty five completely different slot games on this website, which is slightly lower than we wish to see in slot casinos. The main casino sport providers are RTG, Rival Gaming, and Betsoft. They also work with other top software providers like Genesis Gaming, Spinomenal, Spade Gaming, Woohoo, Qora, Radi8, Aristocrat, Bodog, and Revolver Gaming. As a result, customers can play broadly examined high-quality casino.edu.kg actual money slots such as Asgard Deluxe, Tiger Treasures, and Aztec’s Treasure. You have some further time, and also you want to play the most effective online slots. Well, as a substitute of shopping for} flight tickets to Vegas or going to a nearby casino, you may get} started right now.

    BalasHapus

Posting Komentar