#include<stdio.h>
#include<math.h>
void KaliMatriks(int m1[10][10], int m2[10][10], int r1, int c2, int i, int j, int k, int mult[10][10]){
printf("Matriks dengan dot product \n");
printf("Hasil dari perkalian adalah sebagai berikut:\n");
for(i=0;i<r1;i++)
{
for(j=0;j<c2;j++)
{
mult[i][j]=0;
for(k=0;k<r1;k++)
{
mult[i][j]+=m1[i][k]*m2[k][j];
}
printf("%d\t",mult[i][j]);
}
printf("\n");
}
}
int main()
{
int m1[10][10],i,j,k,m2[10][10],add[10][10],mult[10][10],r1,c1,r2,c2;
printf("Masukkan baris dan kolom matrix pertama (MAX 10)\n");
scanf("%d%d",&r1,&c1);
printf("Masukkan baris dan kolom matrix kedua (MAX 10)\n");
scanf("%d%d",&r2,&c2);
//mengecek apakah kolom matrix pertama sama dengan baris matriks kedua
//jika tidak sama maka tidak bisa dilakukan prosesn perkalian
if(r2==c1)
{
printf("masukkan nilai matriks pertama \n");
printf("Input berdasarkan baris\n");
for(i=0;i<r1;i++)
{
for(j=0;j<c1;j++)
scanf("%d",&m1[i][j]);
}
printf("Matrik pertama yang anda masukkan adalah:\n");
for(i=0;i<r1;i++)
{
for(j=0;j<c1;j++)
printf("%d\t",m1[i][j]);
printf("\n");
}
printf("masukkan nilai matriks kedua \n");
printf("Input berdasarkan baris\n");
for(i=0;i<r2;i++)
{
for(j=0;j<c2;j++)
scanf("%d",&m2[i][j]);
}
printf("Matriks kedua yang anda masukkan adalah:\n");
for(i=0;i<r2;i++)
{
for(j=0;j<c2;j++)
printf("%d\t",m2[i][j]);
printf("\n");
}
//panggil fungsi perkalian
KaliMatriks(m1,m2,r1,c2,i,j,k,mult);
getch();
}
else
{
printf("Tidak dapat dilakukan perkalian matrix");
getch();
}
}