8. C PROGRAMMING LAB | Check Now

C PROGRAMMING LAB –08] Develop a program to introduce 2D array manipulation and implement matrix multiplication and ensure the rules of multiplication are checked.


Algorithm

  • Step-1: Start
  • Step-2: [Read the order of both matrices M, N, P, Q]
  • Step-3: Check for i = 0 to M and j = 0 to N for the matrix A, read A[i][j]
  • Step-4: Check for i = 0 to P and j = 0 to Q for the matrix B, read B[i][j]
  • Step-5: If in case (N=P) then only multiplication is possible then goto step 6 otherwise goto step 7
  • Step-6: Initially set matrix C[i][j] as 0
    • For k=0 to n
    • C[i][j] = C[i][j] + A[i][k]*B[i][k] than goto step 8
  • Step-7: Multiplication is not possible
  • Step-8: Prints the multiplication of the two matrix
  • Step-9: Stop

Flow Chart

C PROGRAMMING -matrix multiplication
C PROGRAMMING -matrix multiplication

Program -8 source code

#include<stdio.h>

int main()
{
   int a[20][20],b[20][20],c[20][20];
   int m,n,p,q,i,j,k;

   printf("Enter rows and columns of matrix A\n");
   scanf("%d%d",&m,&n);
   printf("Enter rows and columns of matrix B\n");
   scanf("%d%d",&p,&q);

   if(n!=p)
   {
      printf("Matrix multiplication not possible\n");
      return 0;
   }

   printf("Enter elements of matrix A\n");
   for(i=0;i<m;i++)
   {
      for(j=0;j<n;j++)
      {
         scanf("%d",&a[i][j]);
      }
   }

   printf("Enter elements of matrix B\n");
   for(i=0;i<p;i++)
   {
      for(j=0;j<q;j++)
      {
         scanf("%d",&b[i][j]);
      }
   }

   for(i=0;i<p;i++)
   {
      for(j=0;j<q;j++)
      {
       c[i][j]=0;
       for(k=0;k<n;k++)
       {
          c[i][j]=c[i][j]+a[i][k]*b[k][j];
       }
      }
   }

   printf("Product of two matrices is\n");
   for(i=0;i<m;i++)
   {
      for(j=0;j<q;j++)
      {
       printf("%d\n",c[i][j]);
      }
   }

}

C PROGRAMMING -Output

Enter rows and columns of matrix A

2 2

Enter rows and columns of matrix B

2 2

Enter the elements of matrix A

1 2

3 4

Enter the elements of matrix B

4 3

2 1

The product of two matrices is

8

5

20

13


C PROGRAMMING -Viva Questions

1] How to initialize two-dimensional arrays?

2] How to pass a two-dimensional array as a function parameter?

3] How the memory is allocated for a two-dimensional array

4] Write the program to add and subtract two matrix

5] Program to find the transpose of a matrix

6] Program to find determinants of a matrix

7] Program to find the diagonal elements of a matrix

Leave a Reply

Your email address will not be published. Required fields are marked *