помогите исправить ошибку!

  • Автор темы Angelbad
  • Дата начала
A

Angelbad

#1
написать программу расчета выбранной функции Y(x), или S(x) (желательно и |Y(x)–S(x)|), вид которой в свою очередь передается в качестве параметра в функцию вывода (Out_Rez). Функции в прикрепленом файле.
мой код:
Код:
#include <vcl.h>
#pragma hdrstop
#include "math.h"
#include "Unit1.h"
typedef double (*TFun)(double);
double fun1(double);
double fun2(double);
void Out_Rez(TFun, double, double, double, TMemo*);
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)
{
Edit1->Text="0,1";
Edit2->Text="1,0";
Edit3->Text="0,1";
Edit4->Text="";
Memo1->Clear();
Memo2->Clear();
RadioGroup1->ItemIndex=0;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{ double a, b, h;
a = StrToFloat(Edit1->Text);
b = StrToFloat(Edit2->Text);
h = StrToFloat(Edit3->Text);


switch(RadioGroup1->ItemIndex) {
case 0: Out_Rez (fun1,a,b,h,Memo1); break;
case 1: Out_Rez (fun2,a,b,h,Memo2); break; }

}
double fun1( double r,double s, double k,double m){
r = s = 1;
for(k = 1; k<=5; k++){
r = cos(M_PI/4.0)*r*m/k;
s+=r; }
return s;
}
double fun2(double t) {
return exp(t*cos(M_PI/4.0))*cos(t*sin(M_PI/4.0));}

void Out_Rez (TFun f,double xn,double xk,double h,TMemo *mem) {
for(double x=xn; x<=xk; x+=h)
mem->Lines->Add(" x = "+FloatToStrF(x,ffFixed,8,2)+
" y = "+FloatToStrF(f(x),ffFixed,8,4));
}


//---------------------------------------------------------------------------
 

Вложения