int (*fun)(float,float);
Bu erda butun son turida qiymat qaytaradigan fun nomidagi funksiyaga ko‘rsatkich e’lon qilingan va u ikkita haqiqiy turdagi parametrlarga ega.
Masala. Berilgan butun n=100 va a,b - haqiqiy sonlar uchun , va funksiyalar uchun integralini to‘g‘ri to‘rtburchaklar formulasi bilan taqriban hisoblansin:
,
bu erda , .
Programma bosh funksiya, integral hisoblash va ikkita matematik funksiyalar - f1(x) va f3(x) uchun aniqlangan funksiyalardan tashkil topadi, funksiyaning adresi «math.h» sarlavha faylidan olinadi. Integral hisoblash funksiyasiga ko‘rsatkich orqali integrali hisoblanadigan funksiya adresi, a va b - integral chegaralari qiymatlari uzatiladi. Oraliqni bo‘lishlar soni - n global o‘zgarmas qilib e’lon qilinadi.
#include
#include
const int n=100;
double f1(double x){return 5*sin(3*x)+x;}
double f3(double x){return x*x+1;}
double Integral(double(*f)(double),double a,double b)
{
double x,s=0;
double h=(b-a)/n;
x=a-h/2;
for(int i=1;i<=n; i++) s+=f(x+=h);
s*=h;
return s;
}
int main()
{
double a,b;
int menu;
while(1)
{
cout<<"\nIsh regimini tanlang:\n";
cout<<"1:f1(x)=5*sin(3*x)+x integralini\
hisoblash\n";
cout<<"2:f2(x)=cos(x) integralini hisoblash\n";
cout<<"3:f3(x)=x^2+1 integralini hisoblash\n";
cout<<"0:Programmadan chiqish\n";
do
{
cout<<" Ish regimi-> ";
cin>>menu;
}
while (menu<0 || menu>3);
if(!menu)break;
cout<<"Integral oralig'ining quyi chegarasi a=";
0>
Dostları ilə paylaş: |