标题:矩阵求行列式
取消只看楼主
云烟渺渺之声
Rank: 1
等 级:新手上路
帖 子:9
专家分:1
注 册:2011-12-26
结帖率:25%
已结贴  问题点数:10 回复次数:0 
矩阵求行列式
double det(double*M,int n)//M为矩阵的首地址,你为它的行数(列数)
{
    double a1,a2,add1=0,add2=0,det_M=0;
    int i,j,k;
    if (n==1)
    return det_M=M[0];
    if (n==2)
    return det_M=M[0]*M[3]-M[1]*M[2];
    for(k=0;k<n;k++)
    {
        a1=1;
        for(i=0,j=k;j<n;i++,j++)
            a1*=M[i*n+j];
        if(i!=j)
            for(i=n-1,j=k-1;j>=0;i--,j--)
                a1*=M[i*n+j];
        add1+=a1;
    }
    for(k=0;k<n;k++)
    {
        a2=1;
        for(i=n-k-1,j=0;i>=0;i--,j++)
            a2*=M[i*n+j];
        if((i+j)!=n+1)
            for(i=n-k,j=n-1;i<n;i++,j--)
                a2*=M[i*n+j];
        add2+=a2;

    }
    det_M=add1-add2;
    return det_M;
}
求4阶行列式就开始出错,为什么?该怎样写,求大神么指教。。。
搜索更多相关主题的帖子: double return 行列式 
2012-05-01 11:13



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-366790-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.310477 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved