高斯消元模板

这一份代码能够判断线性方程组是否有解,无法判断是否有无穷多解

int gauss(){    

    for(int i=1;i<=n;i++){
        int r=i;
        for(int k=i;k<=n;k++){
            if(fabs(a[k][i])>fabs(a[r][i])){
                r=k;
            }
        }
        if(r!=i)swap(a[r],a[i]);
        if(fabs(a[i][i])<eps)return 0;

        for(int j=n+1;j>=i;j--){
            a[i][j]/=a[i][i];
        }

        for(int k=i+1;k<=n;k++){
            double div=a[k][i];
            for(int j=n+1;j>=i;j--){
                a[k][j]-=div*a[i][j];
            }
        }
    }
        ans[n]=a[n][n+1];

        for(int i=n-1;i>=1;i--){
            for(int j=i+1;j<=n;j++){
                a[i][n+1]-=a[i][j]*a[j][n+1];
            }
            ans[i]=a[i][n+1];
        }
        return 1;
}
posted @ 2025-06-18 16:31  Marinaco  阅读(11)  评论(0)    收藏  举报
//雪花飘落效果