Tuesday, 12 June 2012


C program to calculate determinant of a matrix



#include<stdio.h>
int main(){
  int a[3][3],i,j;
  int determinant=0;

  printf("Enter the 9 elements of matrix: ");
  for(i=0;i<3;i++)
      for(j=0;j<3;j++)
           scanf("%d",&a[i][j]);

  printf("\nThe First matrix is\n");
  for(i=0;i<3;i++){
      printf("\n");
      for(j=0;j<3;j++)
           printf("%d\t",a[i][j]);
  }

  for(i=0;i<3;i++)
      determinant = determinant + (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",determinant);

   return 0;
}


C code for Determinant of 2X2 matrix:

#include<stdio.h>
int main(){
  int a[2][2],i,j;
  long determinant;

  printf("Enter the 4 elements of matrix: ");
  for(i=0;i<2;i++)
      for(j=0;j<2;j++)
           scanf("%d",&a[i][j]);

  printf("\nThe matrix is\n");
  for(i=0;i<2;i++){
      printf("\n");
      for(j=0;j<2;j++)
           printf("%d\t",a[i][j]);
  }

  determinant = a[0][0]*a[1][1] - a[1][0]*a[0][1];

  printf("\nDeterminant of 2X2 matrix: %ld",determinant);
 
   return 0;
}

Enter the 4 elements of matrix: 4
8
3
9

The matrix is

4       8
3       9

Determinant of 2X2 matrix: 12

C code for Determinant of 3X3 matrix:

#include<stdio.h>

int main(){

  int a[3][3],i,j;

  long determinant;



  printf("Enter the 9 elements of matrix: ");
  for(i=0;i<3;i++)
      for(j=0;j<3;j++)
           scanf("%d",&a[i][j]);

  printf("\nThe matrix is\n");
  for(i=0;i<3;i++){
      printf("\n");
      for(j=0;j<3;j++)
           printf("%d\t",a[i][j]);
  }

  determinant = a[0][0]*((a[1][1]*a[2][2]) - (a[2][1]*a[1][2])) -a[0][1]*(a[1][0]*a[2][2] - a[2][0]*a[1][2]) + a[0][2]*(a[1][0]*a[2][1] - a[2][0]*a[1][1]);

  printf("\nDeterminant of 3X3 matrix: %ld",determinant);
 
   return 0;
}

Sample output:
Enter the 9 elements of matrix: 1
2
3
4
5
6
7
8
9

The matrix is

1       2       3
4       5       6
7       8       9

Determinant of 3X3 matrix: 0








Alogrithm:

Determinant is possible only for square matrixes i.e. n by n matrixes.
Determinant of 2 by 2 matrix:









Determinant of matrix has defined as: ad – cb

Determinant of 3 by 3 matrix:

Determinant of matrix has defined as: a00(a11*a22 – a21*a12) + a01(a10*a22 – a20*a12) + a02(a10*a21 – a20*a11)









No comments:

Post a Comment