富士山温泉酒店:把这段C++程序翻译成PASCAL

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/08 18:02:33
/* 输入方程个数,再输入增广矩阵,用高斯消元法解方程组 */
#include<iostream.h>
#include<math.h>
int main()
{
float a[10][10],b[10],d=0,t=0,sum=0;

int k=1,l=0,i=0,j=0,m,n;

cin>>n;

m=n;

for(int ii=1;ii<=n;ii++)
{

for(int jj=1;jj<=m;jj++)cin>>a[ii][jj];
cin>>b[ii];
}

while(k<=n)
{
//*****选主元素*****

d=a[k][k];
l=k;

for(i=k+1;i<=n;i++)
{
if(fabs(a[i][k])>fabs(d))
{
d=a[i][k];
l=i;
}
}

if(l!=k)
{
for(j=k;j<=n;j++)
{
t=a[l][j];a[l][j]=a[k][j];a[k][j]=t;
}
t=b[k];b[k]=b[l];b[l]=t;
}
//**************
//*****消元*****
for(j=k+1;j<=n;j++)
{
a[k][j]=a[k][j]/a[k][k];
}
b[k]=b[k]/a[k][k];

for(i=k+1;i<=n;i++)
{
for(j=k+1;j<=n;j++)
{
a[i][j]=a[i][j]-a[i][k]*a[k][j];
}
j=1;
b[i]=b[i]-a[i][k]*b[k];
}
k++;
//**************
}

//*****回代*****
for(i=n-1;i>=1;i--)
{
sum=0;
for(j=i+1;j<=n;j++)
{
sum=sum+a[i][j]*b[j];
}
b[i]=b[i]-sum;
}
//**************

cout<<endl
<<endl

for(int loop=1;loop<=n;loop++)
{

printf("%d ",b[loop]);
}
scanf("%d",n)
return 0;
}