因此,我希望编写一个C程序来查找“用户定义”矩阵的行列式。矩阵可以是任何阶数(例如2 * 2或3 * 3或4 * 4 ..... n * n) 我试图做一个简单的程序来查找任何2 * 2或3 * 3矩阵的行列式 我有两件事需要帮助
更正程序中的逻辑错误,因为2 * 2矩阵的行列式是错误的。 并将递归添加到程序中,以便我们找到无限矩阵的行列式。
#include<stdio.h>
int main()
{
int a,b;
printf("enter the rows and columns of matrix\n");
scanf("%d%d",&a,&b);
int c[a][b];
printf("Enter Elements In The Matrix:\n");
for(int i=0;i<b;i++)
{
for(int j=0;j<a;j++)
{
scanf("%d",&c[i][j]);
}
}
printf("\nYour Matrix Is:\n");
for(int p=0;p<b;p++)
{
for(int k=0;k<a;k++)
{
printf("%d\t",c[p][k]);
}
printf("\n\n");
}
if(a==b)
{
printf("\nDeterminent Of Marix Is: ");
int D1=0,D2=0,D3=0,D;
for(int n=0;n<a;n++)
{
for(int m=0;m<b;m++)
{
if(n==0 && m==0)
{
D1=c[n][m]*(c[n+1][m+1]*c[n+2][m+2] - c[n+2][m+1]*c[n+1][m+2]);
}
if(n==0 && m==1)
{
D2=c[n][m]*(c[n+1][m-1]*c[n+2][m+1] - c[n+2][m-1]*c[n+1][m+1]);
}
if(n==0 && m==2)
{
D3=c[n][m]*(c[n+1][m-2]*c[n+2][m-1] - c[n+2][m-2]*c[n+1][m-1]);
}
}
}
D=D1-D2+D3;
printf("%d\n",D);
}
else
{
printf("The Matrix Is Not A Square Matric So The
Determinent Cannot Be Calculated\n");
}
return 0;
}