问题出在k1,k2,k3,k4的初值上,我要去上课了,时间来不及了,下面这段是我试验的代码.
void __fastcall TForm1::Button1Click(TObject *Sender)
{
float *f,*f2,k1,k2,k3,k4,x,y;
int i=0;
f=new float[200];
f2=f;
k1=0.01;
k2=0.02;
k3=0.03;
k4=0.04; //副值数组;绝对是有效的数据;
*(f+0)=k1;
*(f+1)=k2;
*(f+2)=k3;
*(f+3)=k4;
//f +=4;
x =0;
for(i=0;i<200;i++)//;f<=f2+199;f++)
{
y = *(f + i + 0); y *= k1;
x += y;
y = *(f + i + 1); y *= k2;
x += y;
y = *(f + i + 2); y *= k3;
x += y;
y = *(f + i + 3); y *= k4;
x += y;
//+k2*(*(f-2))+k3*(*(f-3))+k4*(*(f-4)); //此过程在不同的数组值时会出错;
*(f + i + 4) = x;
ListBox1->Items->Add(x);
ListBox2->Items->Add(i);
Application->ProcessMessages();
}