Silahkan download applikasinya(file.exe) disini
Source Code :
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
int main () {
int r1,c1,r2,c2;
printf("\t\t\tPROGRAM PERKALIAN MATRIX\n\n");
do{//jika kolom matrix1 tidak sama dengan baris matrix2, loop akan dieksekusi
system("cls");
printf("masukkan jumlah baris matrix pertama: "); scanf("%d",&r1);
printf("masukkan jumlah kolom matrix pertama: "); scanf("%d",&c1);
printf("masukkan jumlah baris matrix kedua : "); scanf("%d",&r2);
printf("masukkan jumlah kolom matrix kedua : "); scanf("%d",&c2);
if(c1!=r2){printf("data salah!\nperkalian matrix yang diperbolehkan: n kolom matrix1 = n baris matrix2\n");getch();}
}
while(c1!=r2);
int matrix1[r1][c1], matrix2[r2][c2],matrix3[r1][c2],temp1,temp2;
int a,b,c,d,counter;
//input matrix pertama
printf("\nmasukkan elemen2 matrix pertama: \n");
for(a=0;a<r1;a++){
for(b=0;b<c1;b++){printf("elemen ke[%d][%d]= ",a,b); scanf("%d",&matrix1[a][b]);}
};
//input matrix kedua
printf("\nmasukkan elemen2 matrix kedua: \n");
for(a=0;a<r2;a++){
for(b=0;b<c2;b++){printf("elemen ke[%d][%d]= ",a,b); scanf("%d",&matrix2[a][b]);}
};
//mengeset nilai awal matrix hasil dengan nilai 0
for(b=0;b<r1;b++){
for(a=0;a<c2;a++){matrix3[b][a]=0;}
}
//perkalian matrix
for(a=0,b=0,counter=1;counter<=(r1*c2);b++,counter++){
for(c=0;c<c1;c++){matrix3[a][b]=matrix3[a][b]+(matrix1[a][c]*matrix2[c][b]);
}
if(b==(c2-1)){b=-1;a=a+1;}
}
//menampilkan hasil perkalian
printf("\n\nHASIL PERKALIAN\n\n");
for(b=0;b<r1;b++){
for(a=0;a<c2;a++){
printf("%d ",matrix3[b][a]);}
printf("\n");
}
system("pause");
return 0;
}
semoga bermanfaat.
0 comments:
Post a Comment