# C Language | Arrays 14

Question:9.
Sum of two matrices (Sum of two double dimension arrays).
Conditions:
The dimensions of both matrices should be same. i.e. the number of rows and columns in both should be the same.
Sol:

```/* Sum of two matrix */
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a[10][10],b[10][10],c[10][10],r1,c1,r2,c2,i,j;
/* clrscr(); */
/* input total rows and cols */
printf("Enter total rows and cols of 1st matrix ");
scanf("%d %d",&r1,&c1);
printf("Enter total rows and cols in 2nd matrix ");
scanf("%d %d",&r2,&c2);
/* condition */
if(r1==r2 && c1==c2)
printf("sum can be calculated\n");
else
{
printf("Sum cannot be calculated\n");
getch();
exit(1);
//or
//return;
}
/* input 1st matrix*/
printf("Enter elements of 1st matrix \n");
for(i=0;i<r1;i++)
{
for(j=0;j<c1;j++)
{
printf("Enter [%d][%d] element ",i,j);
scanf("%d",&a[i][j]);
}
}
/* input 2nd matrix */
printf("Enter elements of 2nd matrix\n");
for(i=0;i<r2;i++)
{
for(j=0;j<c2;j++)
{
printf("Enter [%d][%d] element ",i,j);
scanf("%d",&b[i][j]);
}
}
//display 1st matrix
printf("1st matrix is \n");
for(i=0;i<r1;i++)
{
for(j=0;j<c1;j++)
{
printf("%4d",a[i][j]);
}
printf("\n");
}
//display 2nd matrix
printf("2nd matrix is\n");
for(i=0;i<r2;i++)
{
for(j=0;j<c2;j++)
{
printf("%4d",b[i][j]);
}
printf("\n");
}
//cal and display sum matrix
printf("sum is \n");
for(i=0;i<r1;i++)
{
for(j=0;j<c1;j++)
{
c[i][j]=a[i][j]+b[i][j];
printf("%4d",c[i][j]);
}
printf("\n");
}
getch();
return(0);
}

```
```/* Output */

Case:1

Enter total rows and cols of 1st matrix 2
3
Enter total rows and cols in 2nd matrix 3
6
Sum cannot be calculated

Case:2

Enter total rows and cols of 1st matrix 3
3
Enter total rows and cols in 2nd matrix 3
3
sum can be calculated
Enter elements of 1st matrix
Enter [0][0] element 1
Enter [0][1] element 2
Enter [0][2] element 3
Enter [1][0] element 4
Enter [1][1] element 5
Enter [1][2] element 6
Enter [2][0] element 7
Enter [2][1] element 8
Enter [2][2] element 9
Enter elements of 2nd matrix
Enter [0][0] element 3
Enter [0][1] element 6
Enter [0][2] element 9
Enter [1][0] element 5
Enter [1][1] element 2
Enter [1][2] element 3
Enter [2][0] element 6
Enter [2][1] element 4
Enter [2][2] element 2
1st matrix is
1   2   3
4   5   6
7   8   9
2nd matrix is
3   6   9
5   2   3
6   4   2
sum is
4   8  12
9   7   9
13  12  11```

Question:10.
Difference of two matrices (Difference of two double dimension arrays).
Conditions:
The dimensions of both matrix should be same. i.e. number of rows and columns in both should be same.
Sol:

```/* Difference of two matrix */
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a[10][10],b[10][10],c[10][10],r1,c1,r2,c2,i,j;
/* clrscr(); */
/* input total rows and cols */
printf("Enter total rows and cols of 1st matrix ");
scanf("%d %d",&r1,&c1);
printf("Enter total rows and cols in 2nd matrix ");
scanf("%d %d",&r2,&c2);
/* condition */
if(r1==r2 && c1==c2)
printf("Difference can be calculated\n");
else
{
printf("Difference cannot be calculated\n");
getch();
exit(1);
//or
//return;
}
/* input 1st matrix*/
printf("Enter elements of 1st matrix \n");
for(i=0;i<r1;i++)
{
for(j=0;j<c1;j++)
{
printf("Enter [%d][%d] element ",i,j);
scanf("%d",&a[i][j]);
}
}
/* input 2nd matrix */
printf("Enter elements of 2nd matrix\n");
for(i=0;i<r2;i++)
{
for(j=0;j<c2;j++)
{
printf("Enter [%d][%d] element ",i,j);
scanf("%d",&b[i][j]);
}
}
//display 1st matrix
printf("1st matrix is \n");
for(i=0;i<r1;i++)
{
for(j=0;j<c1;j++)
{
printf("%4d",a[i][j]);
}
printf("\n");
}
//display 2nd matrix
printf("2nd matrix is\n");
for(i=0;i<r2;i++)
{
for(j=0;j<c2;j++)
{
printf("%4d",b[i][j]);
}
printf("\n");
}
//cal and display sum matrix
printf("Difference between two matrix \n");
for(i=0;i<r1;i++)
{
for(j=0;j<c1;j++)
{
c[i][j]=a[i][j]-b[i][j];
printf("%4d",c[i][j]);
}
printf("\n");
}
getch();
return(0);
}

```
```/* Output */

case:1

Enter total rows and cols of 1st matrix 3
2
Enter total rows and cols in 2nd matrix 6
3
Difference cannot be calculated

case:2

Enter total rows and cols of 1st matrix 3
3
Enter total rows and cols in 2nd matrix 3
3
Difference can be calculated
Enter elements of 1st matrix
Enter [0][0] element 2
Enter [0][1] element 3
Enter [0][2] element 6
Enter [1][0] element 5
Enter [1][1] element 9
Enter [1][2] element 6
Enter [2][0] element 3
Enter [2][1] element 2
Enter [2][2] element 5
Enter elements of 2nd matrix
Enter [0][0] element 1
Enter [0][1] element 2
Enter [0][2] element 3
Enter [1][0] element 6
Enter [1][1] element 5
Enter [1][2] element 9
Enter [2][0] element 6
Enter [2][1] element 3
Enter [2][2] element 5
1st matrix is
2   3   6
5   9   6
3   2   5
2nd matrix is
1   2   3
6   5   9
6   3   5
Difference between two matrix
1   1   3
-1   4  -3
-3  -1   0```

Question:11.
Product of two matrices (Product of two double dimension arrays).
Conditions:
the number of columns in the 1st matrix should be equal to the number of rows in the 2nd matrix.
Sol:

```//matrix product
/*
Product Of two matrix
Condition: number of columns in 1st matrix should be
equal to the numbers of rows in the 2nd matrix.

*/
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a[10][10],b[10][10],c[10][10],r1,c1,r2,c2,i,j,k;
/* clrscr(); */
printf("Enter total rows and cols of 1st matrix ");
scanf("%d %d",&r1,&c1);
printf("Enter total rows and cols in 2nd matrix ");
scanf("%d %d",&r2,&c2);
if(c1==r2)
printf("Product can be calculated\n");
else
{
printf("Product cannot be calculated\n");
getch();
exit(1);
//or
//return;
}
printf("Enter elements of 1st matrix \n");
for(i=0;i<r1;i++)
{
for(j=0;j<c1;j++)
{
printf("Enter [%d][%d] element ",i,j);
scanf("%d",&a[i][j]);
}
}
printf("Enter elements of 2nd matrix\n");
for(i=0;i<r2;i++)
{
for(j=0;j<c2;j++)
{
printf("Enter [%d][%d] element ",i,j);
scanf("%d",&b[i][j]);
}
}
printf("1st matrix is \n");
for(i=0;i<r1;i++)
{
for(j=0;j<c1;j++)
{
printf("%4d",a[i][j]);
}
printf("\n");
}
printf("2nd matrix is\n");
for(i=0;i<r2;i++)
{
for(j=0;j<c2;j++)
{
printf("%4d",b[i][j]);
}
printf("\n");
}
/* to calculate product*/
for(i=0;i<r1;i++)
{
for(j=0;j<c2;j++)
{
c[i][j]=0;
for(k=0;k<c1;k++)
{
c[i][j]=c[i][j]+a[i][k]*b[k][j];
}
}
}
printf("product is \n");
for(i=0;i<r1;i++)
{
for(j=0;j<c2;j++)
{
printf("%4d",c[i][j]);
}
printf("\n");
}
getch();
return(0);
}

```
```/* Output */

case:1

Enter total rows and cols of 1st matrix 2
3
Enter total rows and cols in 2nd matrix 6
5
Product cannot be calculated

case:2

Enter total rows and cols of 1st matrix 3
3
Enter total rows and cols in 2nd matrix 3
3
Product can be calculated
Enter elements of 1st matrix
Enter [0][0] element 1
Enter [0][1] element 2
Enter [0][2] element 3
Enter [1][0] element 4
Enter [1][1] element 5
Enter [1][2] element 6
Enter [2][0] element 3
Enter [2][1] element 2
Enter [2][2] element 6
Enter elements of 2nd matrix
Enter [0][0] element 3
Enter [0][1] element 2
Enter [0][2] element 5
Enter [1][0] element 6
Enter [1][1] element 3
Enter [1][2] element 2
Enter [2][0] element 5
Enter [2][1] element 1
Enter [2][2] element 2
1st matrix is
1   2   3
4   5   6
3   2   6
2nd matrix is
3   2   5
6   3   2
5   1   2
product is
30  11  15
72  29  42
51  18  31```

Important Pages