📄 newton_input_data.cpp
字号:
#include<iostream.h>
#define m 10
void main()
{float x[m];//保存结点x的值
float ff[m][m];//主要用来保存差商表的值
float kx,ky,kw;//这三个变量都是中间变量
int n,i,j;
int k;
//for(i=0;i<m;j++)
// {for(j=0;j<m;j++)
// ff[i][j]=0;
//}
cout<<"输入x 与y 的值:"<<endl;
cout<<"如果输入x=-1时,就表示输入结束."<<endl;
for(i=0,j=0;i<m;i++)// 输入x的值,若x=-1就表示输入结束;同时输入y值,并把y保存在差商表的第0列中。
{cout<<"输入X[]第"<<i<<"的值:"<<endl;
cin>>kx;
if(kx==-1) break;
else{ x[i]=kx;
cout<<"输入y第"<<i<<"的值:"<<endl;
cin>>kx;
ff[i][j]=kx;
}
}
n=i;
for(j=1;j<=n;j++)//求差商表中的值。
{k=0;
for(i=1;i<=n;i++)
if(i>=j){ ff[i][j]=(ff[i][j-1]-ff[i-1][j-1])/(x[i]-x[k]);
k++;
}
}
cout<<" 输出差商表: "<<endl;
cout<<"------------------------------------------"<<endl;
for(i=0;i<n;i++)//输出差商表.
{k=0;
for(j=0;j<=i;j++)
{cout<<ff[i][j]<<'\t';
k+=1;
if(k%(i+1)==0)cout<<endl;
}
}
cout<<"------------------------------------------"<<endl;
cout<<"输入所要求的x的值:"<<endl;
cin>>kx;
ky=ff[0][0];
for(i=n;i>0;i--)//主要是求所要求的x的值的对应y值。
{for(j=n;j>0;j--)
{kw=1;
kw=kw*(kx-x[j-1]);
}
ky=ky+ff[i][i]*kw;
}
cout<<"输出ky="<<ky<<endl;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -