Bueno agradezco tu interes nemesio. Te agradecere si me puedes ayudar un poco ya que yo programo en delphi y no en c++ builder y no le entiendo mucho con lo que respecta a la declaracion de variables. mira el codigo que tengo es el siguiente:
//---------------------------------------------------------------------------
#include <vcl.h>
#include <math.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Btn_CalcularClick(TObject *Sender)
{
float f(float x);
int n,i;
float a,b,h,s,s2,s4,x,ts2,ts4,s13,suma;
char opc;
a=b=h=s=x=s13=suma=0;
a=StrToFloat(Edt_a->Text);
b=StrToFloat(Edt_b->Text);
n=StrToFloat(Edt_Numero->Text);
do
{
if(n%2 !=0)
ShowMessage("el numero debe ser un numero par");
}while(n%2 !=0);
h=(b-a)/n;
s=f(a)+f(b);
Edt_Fa->Text=FloatToStr(f(a));
Edt_Fb->Text=FloatToStr(f(b));
Edt_h->Text=h;
Edt_s->Text=s;
Edt_x->Text=x;
/****************************SIMPSON 1/3**********************************/
//se evaluan los valor de x donde x=x+h en el intervalo (a,b)
x=a+h;
for(int i=1; i<=n-2; i++)
{
f(x);
x+=h;
}
//segun el metodo simpson 1/3 algunos valores seran 2*f(x) o 4*f(x)
x=a+h;
for(i=1; i<=n-1; i++)
{
if(i%2 == 0) //2*f(x)
{
s2=2*f(x);
ts2+=s2;
}
else //4*f(x)
{
s4=4*f(x);
ts4+=s4;
}
x+=h;
}//for
suma = (f(a)+f(b))+(ts2+ts4);
s13=(suma*h)/3;
/*************************************************************************/
Edt_Suma->Text=FloatToStr(suma);
Edt_S13->Text=FloatToStr(s13);
}
//-----------------------------------------------------------
Agradezco toda ayuda.... que variable puede ser
Bueno creo que el problema es con la funcion:
float f(float x); que declaro debajo del void, pero donde tengo que declarar eso.......