Matrix multiplication using two dynamically allocated array
This post will guide you to create a program which can accept two matrix according to the given number of rows and column. The arrays are dynamically initialized and then allocated memory.
Screenshots [Demo] :
The Code:
Screenshots [Demo] :
The Code:
#include<stdio.h>
main()
{
int **pa1,**pa2,i,j,r,c,k,s=0;
printf("Enter the number of rows: -->");
scanf ("%d",&r);
printf("Enter the number of columns: -->");
scanf ("%d",&c);
// Dynamically allocating the rows of first array pa1
pa1=(int **)malloc(r*sizeof(int *));
// Dynamically allocating the rows of Second array pa2
pa2=(int **)malloc(r*sizeof(int *));
for(i=0;i<c;i++)
{
// Dynamically allocationg the columns of the first array pa1
pa1[i]=(int *)malloc(c*sizeof(int));
// Dynamically allocationg the columns of the second array pa2
pa2[i]=(int *)malloc(c*sizeof(int));
}
printf("Give The Data Of First Dynamically allocated array :\n");
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
{
// Storing the data as normal 2D array
scanf("%d",&pa1[i][j]);
}
}
printf("Give The Data Of Second Dynamically allocated array :\n");
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
{
// Storing the data as noraml 2D array
scanf("%d",&pa2[i][j]);
}
}
printf("The product of the two Dynamically allocated array is :\n");
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
{
for(k=0;k<r;k++)
{
// Mul. The two array's elements
s=s+(pa1[i][k]*pa2[k][j]);
}
printf("%d ",s);
s=0;
}
printf("\n");
}
}
Found bugs, Please Report us !

Comments
Post a Comment