c++ 牛顿插值法这是代码 ,代码是正确的.// 牛顿插值法.cpp :定义控制台应用程序的入口点.//#include"stdafx.h"#include"iostream"using namespace std;#define N 4 //插值节点数目void main(){\x05doub

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/17 01:40:32
c++ 牛顿插值法这是代码 ,代码是正确的.// 牛顿插值法.cpp :定义控制台应用程序的入口点.//#include"stdafx.h"#include"iostream"using namespace std;#define N 4     //插值节点数目void main(){\x05doub
xUkoV+VU\|ɭua?UȗdmbgJ)ڮVPF[X/0B!Ԧ3;_رO&@|s/缞3pr׶{N7T?u~ҹx>9pwׁrc4= Z[ GC~>~^GVC^Ɓ{_\*`VUxR|-V 3VePS)M,e@aMPTJPGV{ؙnC*P $*I:(|R_JDψ?L$@`_ 9д&UwO] PVX~ 5"?.Ve1A(gweYhඥk嫻Si&Nqz՚.Y|;8oI9M)]zGY3KBMڴV,3Q~?9?Ȑ*lR^S1^aI,_CJ+.!..С]zQvǨf j=vI ,AJU1=_d{j@ل:kuttO6;QJJ K?Y*"3|DUJ.)LoI7z2+0U,MbhtK7cjL:}p=mas2 mBU$H"H.2.)KLMDf6́4pq))II9D6).*$)0q1i’HzXR},$&e%?H$t"e6gSgbql=Ĥbj7 **\*~nѯ_Cs4zyơ˞ɲ}G+m3xe1}nNlGn~9dSIB:۴Dn?2x P-"Sy^%jg^~?ClCB֫4/ iw}E 0(Gs4]ο`7

c++ 牛顿插值法这是代码 ,代码是正确的.// 牛顿插值法.cpp :定义控制台应用程序的入口点.//#include"stdafx.h"#include"iostream"using namespace std;#define N 4 //插值节点数目void main(){\x05doub
c++ 牛顿插值法
这是代码 ,代码是正确的.
// 牛顿插值法.cpp :定义控制台应用程序的入口点.
//
#include"stdafx.h"
#include"iostream"
using namespace std;
#define N 4     //插值节点数目
void main()
{
\x05double tmp=1;
\x05int i,j;
\x05double x[N];          //插值节点坐标
\x05double y[N];
\x05double g[N];
\x05double u,newton;      //需要计算的插值点
\x05cout<<"输入插值点坐标:"<<endl;
\x05for(i=0;i<N;i++)
\x05{
\x05\x05\x05cin>>x[i];
\x05\x05\x05cin>>y[i];
\x05}


\x05cout<<"输入要计算的插值点:"<<endl;
\x05cin>>u;


\x05for(i=0;i<N;i++)
\x05\x05g[i]=y[i];
\x05for(i=0;i<N;i++)
\x05{
\x05\x05for(j=N;j>i;j--)
\x05\x05{
\x05\x05\x05g[j]=(g[j]-g[j-1])/(x[j]-x[j-i-1]);
\x05\x05}
\x05}
\x05newton=g[0];
\x05tmp=1;
\x05for(i=1;i<=N;i++)
\x05{
\x05\x05tmp*=(u-x[i-1]);
\x05\x05newton=newton+tmp*g[i];
\x05}
\x05
\x05cout<<"所得结果为:"<<newton<<endl;


\x05
}
这是结果 结果也正确

但是这个debug error是怎么回事呢?

c++ 牛顿插值法这是代码 ,代码是正确的.// 牛顿插值法.cpp :定义控制台应用程序的入口点.//#include"stdafx.h"#include"iostream"using namespace std;#define N 4 //插值节点数目void main(){\x05doub
好2处数组下标溢出
1、g数组只有N个元素,下标可访问区间为[0 ,N-1],下面这个代码相当于访问了g[N]了
for(j=N;j>i;j--)
{
g[j]=(g[j]-g[j-1])/(x[j]-x[j-i-1]);
}
2、g数组最大不能到达N,当i=N的时候,tmp*g[i]这里会访问溢出
for(i=1;i