(C++) CPP Programs - 26
Friday, December 14, 2007
26. Develop functions
a) To read a given matrix
b) To output a matrix
c) To compute the product of two matrices.
Use the above-developed functions to read in two matrices A(M*N) and (P*Q), to compute the product of the input matrices, to output the given matrices and the computed product matrix in a function.
/* Product of a matrix*/
#include
#include
int a[5][5],b[5][5],c[5][5],m,n,p,q;
void main()
{
clrscr();
read_mat();
printf("\nMatrix a is\n");
output(a,m,n);
printf("\nMatrix b is\n");
output(b,p,q);
mat_mul();
printf("\nMatrix c is\n");
output(c,m,q);
getch();
}
read_mat()
{
int i,j;
printf("\nEnter order of a\n");
scanf("%d%d",&m,&n);
printf("\nEnter the matrix b\n");
scanf("%d%d",&p,&q);
if(p!=n)
{
printf("\nNot multiplicable\n");
getch();
exit(0);
}
printf("\nMultiplicable\n");
printf("\nEnter the matrix a\n");
for(i=0;i < m;i++)
for(j=0;j < n;j++)
scanf("%d",&a[i][j]);
printf("\nEnter matrix b\n");
for(i=0;i < p;i++)
for(j=0;j < q;j++)
scanf("%d",&b[i][j]);
}
output(int x[5][5],int ro,int col)
{
int i,j;
for(i=0;i < ro;i++)
{
for(j=0;j < col;j++)
printf("%4d",x[i][j]);
printf("\n");
}
}
mat_mul()
{
int i,j,k;
for(i=0;i < m;i++)
for(j=0;j < q;j++)
{
c[i][j]=0;
for(k=0;k < p;k++)
c[i][j]+=a[i][k]*b[k][i];
}
}
0 comments:
Post a Comment