Multiplication Of a 2D Array(Matrix)

 #include <stdio.h>


int main(void)

{

  int m,n,p,q,i,j;

  //int a[10][10],b[10][10],c[10][10];

  printf("Enter the number of rows and columns of Matrix A\n");

  printf("Rows:- ");

  scanf("%d",&m);

  printf("columns:- ");

  scanf("%d",&n);

  int a[m][n];

  printf("Now enter the elements one by one\n");

  for(i=0;i<m;i++)

    {

      for(j=0;j<n;j++)

        {

          scanf("%d",&a[i][j]);

        }

    }

  printf(" Matrix A\n");

  for(i=0;i<m;i++)

    {

      for(j=0;j<n;j++)

        {

          printf("%d\t",a[i][j]);

        }

      printf("\n");

    }

  printf("Enter the number of rows and columns of Matrix B\n");

  printf("Rows:- ");

  scanf("%d",&p);

  printf("columns:- ");

  scanf("%d",&q);

  int b[p][q];

  printf("Now enter the elements one by one\n");

  if(n!=p)

  {

    printf("Matrix multiplication is not possible \n");

  }

  else

  {

  for(i=0;i<p;i++)

    {

      for(j=0;j<q;j++)

        {

          scanf("%d",&b[i][j]);

        }

    }

  printf(" Matrix B\n");

  for(i=0;i<p;i++)

    {

      for(j=0;j<q;j++)

        {

          printf("%d\t",b[i][j]);

        }

      printf("\n");

    }

  }

  // code for resultant matrix(c)

  printf("Resultant Matrix \n");

  int c[m][q];

  //int sum;

  for(i=0;i<n;i++)

    {

      for(j=0;j<q;j++)

        {

         c[i][j]=0;

          for(int k=0;k<n; k++)

            {

              c[i][j]=c[i][j]+a[i][k]*b[k][j];

            }

        }

    }

  for(i=0;i<m;i++)

    {

      for(j=0;j<q;j++)

        {

          printf("%d\t",c[i][j]);

        }

      printf("\n");

    }

  return 0; 

}

🔗Link : https://replit.com/@AquaLeagen/Multiplication-of-2D-arrayMatrixc?s=app

Comments

Popular Posts