📄 实验三
字号:
#include <iostream.h>
#include <stdlib.h>
#include <math.h>
#define N 100
void main()
{
int i,j,n;
float *x;
cout<<"input the number of element n:";
cin>>n;
float a[N][N],b[N],c[N][N+1];
cout<<"input the coefficient matrix"<<endl;
for (i=0;i<n;i++)
for (j=0;j<n;j++)
cin>>a[i][j];
cout<<"input constant"<<endl;
for (i=0;i<n;i++)
cin>>b[i];
for (i=0;i<n;i++)
{
for (j=0;j<n;j++)
c[i][j]=a[i][j];
c[i][j]=b[i];
}
float *LU(float *,int);
x=LU((float *)c,n);
cout<<"\nThe roots of the equation are:"<<endl;
for(i=0;i<n;i++)
cout<<"x["<<i+1<<"]="<<x[i]<<endl;
}
float *LU(float *u,int n)
{
int i,r, k;
float *x;
x=new float [n];
for (r=0;r<=n-1;r++)
{
for (i=r;i<=n;i++)
for (k=0;k<=r-1;k++)
*(u+r*(N)+i)-=*(u+r*(N)+k)*(*(u+k*(N)+i));
for(i=r+1;i<=n-1;i++)
{
for (k=0;k<=r-1;k++)
*(u+i*(N)+r)-=*(u+i*(N)+k)*(*(u+k*(N)+r));
*(u+i*(N)+r)/=*(u+r*(N)+r);
}
}
for (i=n-1;i>=0;i--)
{
for (r=n-1;r>=i+1;r--)
*(u+i*(N)+n)-=*(u+i*(N)+r)*x[r];
x[i]=*(u+i*(N)+n)/(*(u+i*(N)+i));
}
return x;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -