Wednesday, 13 January 2016

Matrix Multiplication

#include <stdio.h>
void check_order(int, int);
int main(){
int m1,n1;
int m2, n2;
int a[10][10], b[10][10], c[10][10];
int i,j,k;
int sum=0;
printf("Enter value of row and column for 1st matrix: ");
scanf("%d %d", &m1, &n1);
printf("Enter value of row and column for 2nd matrix: ");
scanf("%d %d", &m2, &n2);
check_order(n1, m2);
printf("Enter value of martix 1(%d, %d)", m1, n1);
for(i=0;i<m1;i++){
for(j=0;j<n1;j++){
scanf("%d", &a[i][j]);
}
}
printf("Enter value of matrix 2(%d, %d)", m2, n2);
for(i=0;i<m2;i++){
for(j=0;j<n2;j++){
scanf("%d", &b[i][j]);
}
}
for(i=0;i<m1;i++){
for(j=0;j<n2;j++){
sum=0;
for(k=0;k<n1;k++){
sum=sum+a[i][k]*b[k][j];
}
c[i][j]=sum; }
}
printf("Matrix multiplication is:\n ");
for(i=0;i<m1;i++){
for(j=0;j<n2;j++){
printf("%d ",c[i][j] );
}
printf("\n ");
}
return 0;
}
void check_order(int col1, int row2){
if(col1==row2){
printf("Matrix can multiply\n");
}else{
printf("Matrix cannot multiply\n");
exit(0);
}
}


the result would be as follows:





                                                  

No comments:

Post a Comment