⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hls.txt

📁 本程序是关于求解矩阵的行列式,以及代数余子式的主程序,运行环境是vc6.0
💻 TXT
字号:
本程序是关于求解矩阵的行列式的主程序,运行环境是vc6.0

float comput_D(float *p,short int n)  
{
    short int i,j,m;        //i--row; j--column
    short int lop=0;
    float result=0;
    float mid=1;
    
    if (n!=1)
    {
        lop=(n==2)?1:n;    //控制求和循环次数,若为2阶,则循环1次,否则为n次

        for(m=0;m<lop;m++)
        {
            mid=1;         //顺序求和
            for(i=0,j=m;i<n;i++,j++)
                mid = mid * ( *(p+i*n+j%n) );
            result+=mid;
        }

        for(m=0;m<lop;m++)
        {                       
            mid=1;         //逆序相减
            for(i=0,j=n-1-m+n; i<n; i++,j--)
                mid=mid * ( *(p+i*n+j%n));
            result-=mid;
        }
       }
    else result=*p;
    return(result);
}


//功能:求k×k矩阵中元素A(mn)的代数余子式
//入口参数:k×k矩阵首地址;元素A的下标m,n; 矩阵行数 k
//返回值: k×k矩阵中元素A(mn)的代数余子式
//----------------------------------------------------
float Creat_M(float *p, short int m,short int n,short int k)
{
    short int len;
    short int i,j;
    float mid_result=0;
    short int quo=1;
    float *p_creat,*p_mid;

    len=(k-1)*(k-1);
    p_creat = (float *)calloc(len, sizeof(float));    //分配内存单元
    p_mid=p_creat;
    for(i=0;i<k;i++)
        for(j=0;j<k;j++)
        {
            if (i!=m && j!=n)
                *p_mid++ =* (p+i*k+j);            
        } 
    //    Print(p_creat,k-1);
    quo = (m + n) %2==0 ? 1:-1; 
    mid_result = (float ) quo * comput_D(p_creat,k-1);
    free(p_creat);
    return(mid_result);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -