c++程序有点问题,高手帮忙一下,急!!!

来源:百度知道 编辑:UC知道 时间:2024/05/02 19:26:29
#include <iostream>
#include <math.h>
using namespace std;
void colpivot(float (*a)[31],float *x,int n)
{
int k,Pr,i,j;
float t,total;
for(k=0;k<n-1;k++)
{
Pr=k;
for(i=k+1;i<n;i++)
{
if(fabs(a[i][k])>fabs(a[Pr][k]))
Pr=i;
}
if(Pr>k)
for(j=k;j<n+1;j++)
{
t=a[k][j]; a[k][j]=a[Pr][j]; a[Pr][j]=t;
}
for(i=k+1;i<n;i++)
{
t=a[i][k];
for(j=k;j<n+1;j++)
a[i][j]=a[i][j]-(t*a[k][j])/a[k][k];
}
}
x[n-1]=a[n-1][n]/a[n-1][n-1];
for(i=n-2;i>=0;i--)
{
total=a[i][n];
for(j=n-1;j>i;j--)
total=total-x[j]*a[i][j];
x[i]=total/a[i][i];

#include <iostream>
#include <math.h>
using namespace std;
void colpivot(int **a,float *x,int n)
{
int k,Pr,i,j;
float t,total;
for(k=0;k<n-1;k++)
{
Pr=k;
for(i=k+1;i<n;i++)
{
if(fabs(a[i][k])>fabs(a[Pr][k]))
Pr=i;
}
if(Pr>k)
for(j=k;j<n+1;j++)
{
t=a[k][j]; a[k][j]=a[Pr][j]; a[Pr][j]=t;
}
for(i=k+1;i<n;i++)
{
t=a[i][k];
for(j=k;j<n+1;j++)
a[i][j]=a[i][j]-(t*a[k][j])/a[k][k];
}
}
x[n-1]=a[n-1][n]/a[n-1][n-1];
for(i=n-2;i>=0;i--)
{
total=a[i][n];
for(j=n-1;j>i;j--)
total=total-x[j]*a[i][j];
x[i]=total/a[i][i];
}
for(i=0;i<n;i++)
cout<<"x"<<i+1<<"="<<x[i]<<" "<<endl;

}

int main()
{
int i,j,m,n;
int **a;
cin>>m>>n;
a=new int *[n];
for(i=0; i