
Matrix multiplication in C
Algorithm
Input: Input rows and column of the first and second matrices, elements of the matrices
output: Displays the multiplication of element of the matrices
- Start
- Input the number of row and column of 1st matrix and store it in m1, n1
- Input the number of row and column of 2nd matrix and store it in m2, n2
- if n1 != m2
4.1 Print "Matrix multiplication not possible" - else
5.1 Input the elements of matrix 1 and matrix 2 say a [m1] [n1] and b [m2] [n2]
5.2 Print "The multiplication of matrix 1 and 2 is "
5.3 for i = 0 to m1
5.3.1 for j = 0 to n2
5.3.1.1 c [ i ] [ j ] = 0
5.3.1.2 for k = 0 to n1
5.3.1.2.1 c [ i ] [ j ] = c [ i ] [ j ] + a [ i ] [ k ] * b [ k ] [ j ] - print the matrix c
- Stop
C Program
# include <stdio.h>
int main()
{
//Enter the rows and columns and elements of the first and second array
int n1,m1,n2,m2;
printf("Enter the number of rows of the first matrix: ");
scanf("%d", &m1);
printf("Enter the number of column of the first matrix: ");
scanf("%d", &n1);
printf("Enter the number of rows of the second matrix: ");
scanf("%d", &m2);
printf("Enter the number of column of the second matrix: ");
scanf("%d", &n2);
int a[m1][n1], b[m2][n2], c[m1][n2];
if (n1 != m2){
printf("Matrix multiplication is not possible");
}
else {
//Input the first matrix
printf("Enter the elements of the first matrix: \n");
for (int i = 0; i < n1; i++){
for (int j = 0; j < m1; j++)
scanf("%d", &a[i][j]);
}
//Input the second matrix
printf("Enter the elements of the second matrix: \n");
for (int i = 0; i < n2; i++){
for (int j = 0; j < m2; j++)
scanf("%d", &b[i][j]);
}
//Matrix multiplication and storing
printf("The matrix multiplication is \n");
for (int i = 0; i < m1; i++){
for (int j = 0; j< n2; j++){
c [i][j] = 0;
for (int k = 0; k <n1; k++){
c [i] [j] = c [i] [j] + ( a[j] [k] * b [k] [j] );
}
}
}
//Print the matrix c
for (int i = 0; i < m1; i++){
printf("\n");
for (int j = 0; j < n2; j++){
printf ("%d\t", c [i][j]);
}}
}
return 0;
}
Note: This Program was created using visual studio code. The Program file can be downloaded by clicking here
Output
Enter the number of rows of the first matrix: 2
Enter the number of columns of the first matrix: 2
Enter the number of rows of the second matrix: 2
Enter the number of columns of the second matrix: 2
Enter the elements of the first matrix:
1
2
3
4
Enter the elements of the second matrix:
1
2
3
4
The matrix multiplication is
7 22
7 22
Comments