| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1228 人关注过本帖
标题:矩阵求行列式
取消只看楼主 加入收藏
云烟渺渺之声
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
快速回复:矩阵求行列式
数据加载中...
 
   



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

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