## Question Reference

C Home

### C Inbuilt Functions

C String FunctionsC Math Functions

### C Interview Programs

C Common ProgramsC Array ProgramsC Converter ProgramsC Star Patterns ProgramC Number Patterns ProgramC Alphabet Patterns Program

ASCII Table

# C Program to perform Matrix Multiplication

Last Updated:

## Perform Matrix Multiplication

In the following example, we will multiply the two given matrices (two-dimensional arrays).

### Example

C Compiler
#include <stdio.h> int main() { int i, j, k; int arr1[3][3] = { {1, 1, 1}, {1, 1, 1}, {1, 1, 1} }; int arr2[3][3] = { {2, 2, 2}, {2, 2, 2}, {2, 2, 2} }; int arr3[3][3] = {0}; printf("Matrix A (3 x 3):\n"); for(i=0; i<3; i++) { for(j=0; j<3; j++) printf("%d ", arr1[i][j]); printf("\n"); } printf("\nMatrix B (3 X 3):\n"); for(i=0; i<3; i++) { for(j=0; j<3; j++) printf("%d ", arr2[i][j]); printf("\n"); } for(i=0; i<3; i++) { for(j=0; j<3; j++) { for(k=0; k<3; k++) arr3[i][j] = arr3[i][j] + arr1[i][k] * arr2[k][j]; } } printf("\nMatrix Multiplication (A x B):\n"); for(i=0; i<3; i++) { for(j=0; j<3; j++) printf("%d ", arr3[i][j]); printf("\n"); } return 0; }

In the following example, we will get the values for (3 x 3) Matrices A and B from the user and display the matrix multiplication.

### Example

C Compiler
#include <stdio.h> int main() { int i, j, k; int arr1[3][3], arr2[3][3], arr3[3][3] = {0}; printf("Enter Matrix A (3 x 3):\n"); for(i=0; i<3; i++) for(j=0; j<3; j++) scanf("%d", &arr1[i][j]); printf("\nEnter Matrix B (3 X 3):\n"); for(i=0; i<3; i++) for(j=0; j<3; j++) scanf("%d", &arr2[i][j]); for(i=0; i<3; i++) { for(j=0; j<3; j++) { for(k=0; k<3; k++) arr3[i][j] = arr3[i][j] + arr1[i][k] * arr2[k][j]; } } printf("\nMatrix Multiplication (A x B):\n"); for(i=0; i<3; i++) { for(j=0; j<3; j++) printf("%d ", arr3[i][j]); printf("\n"); } return 0; }