C Program to Calculate Determinant of Matrix of Order Upto 3

In this post i am sharing a C program to calculate determinant of matrices of order upto 3 (3x3).

#include<stdio.h>


void main()

{int a[10][10],i,m,j;

int det=0; 

printf("\nEnter the order of matrix:\n "); 

scanf("%i",&m);

printf("\nenter elements\n");

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

{
for(j=0;j<m;j++)
scanf("%d",&a[i][j]); }

printf("\nThe matrix is\n");

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

{
printf("\n");

for(j=0;j<m;j++)
printf("%3d",a[i][j]);

}

printf("\nthe transpose is\n");

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

printf("%3i",a[j][i]);

printf("\n");

}

if(m==1)

{
det=a[0][0];

printf("det=%i",det);

}

else if(m==2)

{
int k=1,l=1;

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

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

{
if(i==j)

k*=a[i][j];

else

l*=a[i][j];

}

printf("\ndeterminant=%i",k-l);

}

else if(m==3)

{
for(i=0;i<3;i++)

det=det+(a[0][i]*(a[1][(i+1)%3]*a[2][(i+2)%3]-a[1][(i+2)%3]*a[2][(i+1)%3])); 

printf("\nDeterminant of matrix is: %d",det); 

} 

else

printf("This program can't calculate determinant of matrix of order greater than 3");

}

No comments :

Post a Comment