In this C Program for Multiplication of Matrix using the 2D array, we will multiply two matrices A and B, e.g., C=A*B; then, we print matrix C.
The number of columns of matrix A should equal the number of rows of matrix B. We are making a c program for the multiplication of square matrices.
Table of Contents
Multiplication of Matrices in C using 2D array
#include <stdio.h> int main() { int C[10][10], A[10][10], B[10][10], i, j, l, row, col; printf("Enter the number of rows (1-5): "); scanf("%d", &row); printf("Enter the number of columns (1-5): "); scanf("%d", &col); printf("\n Matrix A\n"); printf("\n Enter element you want to insert in the matrix A:\n"); for (i = 0; i < row; i++) { for (j = 0; j < col; j++) { printf("\t"); scanf("%d", &A[i][j]); } } printf("\n Matrix A:\n"); for (i = 0; i < row; i++) { for (j = 0; j < col; j++) { printf("%d", A[i][j]); printf("\t"); } printf("\n"); } printf("\n\n Matrix B"); printf("\n Enter element you want to insert in the matrix B:\n"); for (i = 0; i < row; i++) { for (j = 0; j < col; j++) { printf("\t"); scanf("%d", &B[i][j]); } } printf("\n Matrix B:\n"); for (i = 0; i < row; i++) { for (j = 0; j < col; j++) { printf("%d", B[i][j]); printf("\t"); } printf("\n"); } printf("\n A*B=\n"); for (i = 0; i < row; i++) { for (j = 0; j < row; j++) { C[i][j] = 0; for (l = 0; l < col; l++) { C[i][j] = C[i][j] + A[i][l] * B[l][j]; } printf("%d", C[i][j]); printf("\t"); } printf("\n"); } return 0; }
Video Solution for Matrix Multiplication in C
Enter the number of rows (1-5): 2
Enter the number of columns (1-5): 2
Matrix A
Enter element you want to insert in the matrix A:
1
2
3
4
Matrix A:
1 2
3 4
Matrix B
Enter element you want to insert in the matrix B:
5
6
7
8
Matrix B:
5 6
7 8
A*B=
19 22
43 50
Matrix Multiplication in C++ using for loop
It is a c++ program for matrix multiplication. We will take input from the user for both the matrices' rows and columns.
#include<iostream> using namespace std; int main() { int row1, col1; cout<<"Enter the number of rows of Matrix A: \n"; cin>>row1; cout<<"Enter the number of columns of Matrix A: \n"; cin>>col1; int A[row1][col1]; cout<<"\n Matrix A\n\n"; cout<<"\n Enter element you want to insert in the matrix A:\n\n"; for (int i = 0; i < row1; i++) { for (int j = 0; j < col1; j++) { cin>>A[i][j]; } } int row2, col2; cout<<"Enter the number of rows of Matrix B: \n"; cin>>row2; cout<<"Enter the number of columns of Matrix B: \n"; cin>>col2; int B[row2][col2]; cout<<"\n Matrix B\n\n"; cout<<"\n Enter element you want to insert in the matrix B:\n\n"; for (int i = 0; i < row2; i++) { for (int j = 0; j < col2; j++) { cin>>B[i][j]; } } if(col1!=row2) { exit(0); } int C[row1][col2]; cout<<"\n A*B=\n\n"; for (int i = 0; i < row1; i++) { for (int j = 0; j < row1; j++) { C[i][j] = 0; for (int l = 0; l < col2; l++) { C[i][j] = C[i][j] + A[i][l] * B[l][j]; } cout<<C[i][j]<<" "; } cout<<"\n"; } return 0; }
Approach for Multiplication of two matrices in C using 2D array:
- Using Nested for loop, we initialize array elements in two matrices, A & B.
- Using Nested for loop, we print all the elements of matrices entered by the user on the screen.
- Using Nested for loop, we multiply two matrices. For this we use the following statement: C[i][j]= C[i][j]+A[i][l]*B[l][j];
About this C Program:
Siddharth Jha writes this program. If you have any doubts regarding the multiplication of matrices in c, let me know in the comment section.