# Matrix multiplication in C

Matrix multiplication in C language to calculate the product of two matrices (two-dimensional arrays). A user inputs the orders and elements of the matrices. If the multiplication isn’t possible, an error message is displayed. You may have studied the method to multiply matrices in Mathematics.

## Matrix multiplication in C language

#include <stdio.h>

int main()
{
int m, n, p, q, c, d, k, sum = 0;
int first[10][10], second[10][10], multiply[10][10];

printf(“Enter number of rows and columns of first matrix\n);
scanf(“%d%d”, &m, &n);
printf(“Enter elements of first matrix\n);

for (c = 0; c < m; c++)
for (d = 0; d < n; d++)
scanf(“%d”, &first[c][d]);

printf(“Enter number of rows and columns of second matrix\n);
scanf(“%d%d”, &p, &q);

if (n != p)
printf(“The multiplication isn’t possible.\n);
else
{
printf(“Enter elements of second matrix\n);

for (c = 0; c < p; c++)
for (d = 0; d < q; d++)
scanf(“%d”, &second[c][d]);

for (c = 0; c < m; c++) {
for (d = 0; d < q; d++) {
for (k = 0; k < p; k++) {
sum = sum + first[c][k]*second[k][d];
}

multiply[c][d] = sum;
sum = 0;
}
}

printf(“Product of the matrices:\n);

for (c = 0; c < m; c++) {
for (d = 0; d < q; d++)
printf(“%d\t, multiply[c][d]);

printf(\n);
}
}

return 0;
}

An output of 3 X 3 matrix multiplication C program:

There are many applications of matrices in computer programming; to represent a graph data structure, in solving a system of linear equations and more. Much research is undergoing on how to multiply them using a minimum number of operations. You can also implement the program using pointers.