急急急!C/C++高手请进!

来源:百度知道 编辑:UC知道 时间:2024/07/05 00:19:40
用高斯全主元消去法求解100阶线性方程组:Ax=b,其中矩阵A为:a(ii)=5051-i,(i=1,2,...100);a(ij)=j,(j=1,2,...100且i不等于j),b(i)=338350+5051*i-2*i*i,(i=1,2,...100).注意,我要的是求解该问题的C或者C++程序。好的追加100~150分。有劳高手了,在此不胜感激!

#include <iostream>
#include <cmath>
using namespace std;

#define N 100

void Gaussdiedai(int n, double a[][(N+1)], double *x)
{
int i,j,k,r,l,c;
double m;
int cc[N];
for(j=0;j<n;j++)
cc[j]=j;
for(k=0;k<n-1;k++)
{
m=0;
for(i=k;i<n;i++)
for(j=k;j<n;j++)
if(fabs(a[i][j])>m)
{
r=i;c=j;
m=fabs(a[i][j]);
}
if(r>k)
for(j=k;j<n+1;j++)
{
m=a[k][j];
a[k][j]=a[r][j];
a[r][j]=m;
}
if(c>k)
{
for(i=0;i<n;i++)
{
m=a[i][k];
a[i][k]=a[i][c];
a[i][c]=m;
l=cc[k];
cc[k]=cc[c];
cc[c]=l;
}
}
for(i=k+1;i<n;i++)
{
m=a[i][k]/a[k][k];