用C语言解决:求任意阶(n阶)矩阵的行列式
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/10/03 02:15:02
用C语言解决:求任意阶(n阶)矩阵的行列式
很遗憾,上面匿名的程序不正确.
比如n=2 输入:
3---7
2---1
得出错误结果.
而当输入n=3
0---1---3
3---0---2
5---2---0
时也会得出错误结果.
错误的原因有2:
1 是数据类型不对,匿名的程序是设定输入都是整数int,显然按照行列式的定义结果肯定是整数,但是他程序中使用了整型数的除法,结果是取整整数,虽然他使用了类型强制转换,但结果显然不同,有误差而且有时候这个误差很大形成错误.
2 是算法有点问题.小可很欣赏匿名的算法思路,简洁明快.不过有相当缺陷,这在程序中注明.
下面的程序是在匿名的程序思路上改写的.考虑到数据类型和精确度问题,程序中行列式数据使用double型.由于tc和win-tc是16位编辑器,对float型和double型数据支持不好,所以程序是在32位编辑器Dev-c++下调试并通过的.
本题的一个完整的c程序如下,程序在Dev-c++下都调试通过,结果正确.
/* 用C语言解决:求任意阶(n阶)矩阵的行列式值 */
#include
#include
void getarray(int n);
void showarray(int n);
double getresult(int n);
double array[10][10];/*设矩阵不超过10阶,可更改*/
int main()
{
int n;
double result;
printf("\nPlease input the Array size n:");
scanf("%d",&n);
getarray(n);
showarray(n);
result=getresult(n);
printf("\nResult=%f\n",result);
system("pause");
return 0;
}
void getarray(int n)
{
int row,col;
for(row=0;row
比如n=2 输入:
3---7
2---1
得出错误结果.
而当输入n=3
0---1---3
3---0---2
5---2---0
时也会得出错误结果.
错误的原因有2:
1 是数据类型不对,匿名的程序是设定输入都是整数int,显然按照行列式的定义结果肯定是整数,但是他程序中使用了整型数的除法,结果是取整整数,虽然他使用了类型强制转换,但结果显然不同,有误差而且有时候这个误差很大形成错误.
2 是算法有点问题.小可很欣赏匿名的算法思路,简洁明快.不过有相当缺陷,这在程序中注明.
下面的程序是在匿名的程序思路上改写的.考虑到数据类型和精确度问题,程序中行列式数据使用double型.由于tc和win-tc是16位编辑器,对float型和double型数据支持不好,所以程序是在32位编辑器Dev-c++下调试并通过的.
本题的一个完整的c程序如下,程序在Dev-c++下都调试通过,结果正确.
/* 用C语言解决:求任意阶(n阶)矩阵的行列式值 */
#include
#include
void getarray(int n);
void showarray(int n);
double getresult(int n);
double array[10][10];/*设矩阵不超过10阶,可更改*/
int main()
{
int n;
double result;
printf("\nPlease input the Array size n:");
scanf("%d",&n);
getarray(n);
showarray(n);
result=getresult(n);
printf("\nResult=%f\n",result);
system("pause");
return 0;
}
void getarray(int n)
{
int row,col;
for(row=0;row
用C语言解决:求任意阶(n阶)矩阵的行列式
关于C语言的问题:如何用C语言实现n阶行列式和矩阵的值
用C语言求7阶矩阵的行列式,求代码…… (矩阵定义在数组a[7][7]中)a[i][j]表示矩阵第i+1行,j+1列元素
分块矩阵求行列式的值A为n阶矩阵,B为m阶矩阵,且|A|=a,|B|=b,分块矩阵C=(OABO),则|C|=?答案(-
m*n阶矩阵的行列式是什么
用C语言编程解决:在 n 行 n 列的矩阵中,每行都有最大的数,求这 n 个最大数中的最
已知三阶矩阵A=(a,b,c)的行列式等于d,求矩阵C=(a-b,b+2c,a+b-c)的行列式.“三阶矩阵A=(a,b
求分块矩阵行列式ABCD均为n阶方阵,A可逆,求|A B,C D|,求具体过程,以及分块矩阵形式的行列式如何化简求值,还
行列式求值--C语言Description求 N 阶方阵对应的行列式值.Input输入数据包含多组测试案例.每组测试案例
证:n阶矩阵(横着A 0下一行C B)的行列式等于detA*detB
求C语言程序,N*N的螺旋矩阵.
n阶行列式,用行列式的定义