Matrix Multiplication 2D Array Example in C
On this page (9sections)
About this program
This is an example program in c array example programs. Read the concept first: C Array, then study the code and output below.
Matrix definition:
Matrix addition is the operation of adding two matrices by adding the corresponding entries together.
Two Dimensional (2 D) array in C
The two dimensional array in C, represented in the form of rows and columns, also suitable with matrix. It is also known as Multidimensional array
Multidimensional arrays
According to Wikipedia, For multi dimensional array, the element with indices i,j would have address B + c · i + d · j, where the coefficients c and d are the row and column address increments, respectively.
More generally, in a k-dimensional array, the address of an element with indices i1, i2, …, ik is
B + c1 i1 + c2 i2 + ... + ck ik.
Syntax
data_type variable_name[size_row][size_col];
Syntax Example
int a[2][3];
Matrix Subtraction 2 D (dimensional) or Multidimensional Array Example Program In C
/*##Matrix Multiplication, 2 D (dimensional) Multiplication Array Example , Multidimensional Array Example*/
/*##Calculation Programs, Datatype Programs, Basic Programs*/
#include <stdio.h>
int main()
{
int rowCountOne, columnCountOne, rowCountTwo, columnCountTwo, i, j, k, sum = 0;
int firstMatrix[10][10], secondMatrix[10][10], resultMatrix[10][10];
printf("Number of rows in first matrix : ");
scanf("%d", &rowCountOne);
printf("Number of columns in first matrix : ");
scanf("%d", &columnCountOne);
printf("Elements of first matrix : \n");
for (i = 0; i < rowCountOne; i++)
for (j = 0; j < columnCountOne; j++)
scanf("%d", &firstMatrix[i][j]);
printf("Number of rows of second matrix : ");
scanf("%d", &rowCountTwo);
printf("Number of columns of second matrix : ");
scanf("%d", &columnCountTwo);
if (columnCountOne != rowCountTwo)
printf("Matrices with entered orders cannot be multiplied.\n");
else
{
printf("Elements of second matrix : \n");
for (i = 0; i < rowCountTwo; i++)
for (j = 0; j < columnCountTwo; j++)
scanf("%d", &secondMatrix[i][j]);
for (i = 0; i < rowCountOne; i++) {
for (j = 0; j < columnCountTwo; j++) {
for (k = 0; k < rowCountTwo; k++) {
sum = sum + firstMatrix[i][k]*second[k][j];
}
resultMatrix[i][j] = sum;
sum = 0;
}
}
printf("After Multiplication, the result is : \n");
for (i = 0; i < rowCountOne; i++) {
for (j = 0; j < columnCountTwo; j++)
printf("%d\t", resultMatrix[i][j]);
printf("\n");
}
}
return 0;
}
Sample Output:
Number of rows in first matrix : 3
Number of columns in first matrix : 3
Elements of first matrix :
3
3
3
3
3
3
3
3
3
Number of rows of second matrix : 3
Number of columns of second matrix : 3
Enter the elements of second matrix :
3
3
3
3
3
3
3
3
3
After Multiplication, the result is :
27 27 27
27 27 27
27 27 27
Related Pages
Learn the concept first, then study the code:
- C Programs — Browse all C Programs.
- C Array — Concept — arrays, indexing and multidimensional arrays.
- Single Dimensional Array Example Program in C Programming — More in c array example programs.
- Sum of Array C Example Program — More in c array example programs.