Algoritma:
deklarasi
i, j, k; int
deskripsi
for<-- i to baris do
for<-- j to baris do
mat_kali[i][j] = 0
for k <-- 1 to barkol do
mat_kali[i][j]<-- mat_kali[i][j] + matriks1[i][k] * matriks2[k][j]
end for
end for
end for
Source code:
#include <iostream.h>
#include <conio.h>
void baca(int mat[10][10], int baris, int kolom){
int i,j;
for (i=0; i<baris; i++)
for (j=0; j<kolom; j++){
cout<<"Data ["<<i+1<<","<<j+1<<"] : ";
cin>>mat[i][j];}
}
void kali(const int M1[10][10], const int M2[10][10], int baris, int kolom, int barkol, int hasil[10][10]){
int i, j, k;
for (i=0; i<baris; i++)
for (j=0; j<kolom; j++){
hasil[i][j]=0;
for (k=0; k<barkol; k++)
hasil[i][j]=hasil[i][j] +M1[i][k] *M2[k][j];}
}
void cetak(const int A[10][10], int baris, int kolom){
int i,j;
for (i=0; i<baris; i++){
for (j=0; j<kolom; j++)
cout<<A[i][j]<<" ";
cout<<endl;}
}
int main(){
int a,b,c;
int M1[10][10], M2[10][10];
int hasil[10][10];
cout<<"banyak baris matriks 1 : "; cin>>a;
cout<<"banyak kolom matriks 2 : "; cin>>b;
cout<<"banyak kolom matriks 1 atau baris matriks 2 : "; cin>>c;
cout<<"\nMatriks pertama \n";
baca(M1, a, c); cout<<endl;
cetak(M1, a, c);
cout<<"\nMatriks Kedua \n";
baca(M2, c, b); cout<<endl;
cetak(M2, c, b);
kali(M1, M2, a, b, c, hasil);
cout<<"\nHasil Perkalian \n";
cetak(hasil , a, b);
getch();
}
Penjelasannya:
inti dari program ini terletak di fungsi void kali.....
dan dalam hal mengalikan matriks ini teman-teman harus mengetahui syarat perkalian matriks terlebih dahulu. yaitu jumlah kolom mtriks pertama harus sama dengan jumlah baris matriks ke dua.Jadi dalam hal ini saya belum menggunakan fungsi if, tapi saya langsung menginputkan nya menjadi satu. Dapat teman liat sendiri di
" cout<<"banyak kolom matriks 1 atau baris matriks 2 : "; cin>>c; ".. Ok...
0 Komentar