ВУЗ:
Составители:
Рубрика:
66
cout<<”\n Выполняется f2().”;}
void main(){
void (*ptr)(void);
ptr = f2;
(*ptr)(); //вызов функции f2();
ptr = f1;
(*ptr)(); //вызов f1();
ptr(); //альтернативная запись!
}
Результат:
Выполняется f2().
Выполняется f1().
Выполняется f1().
Иногда удобно использовать формальные параметры функции,
являющиеся указателями на функции.
Проиллюстрируем это при решении следующей задачи.
Вычислить интеграл, используя метод трапеций, от двух разных
функций.
// Файл TRAP.CPP
double trap(double a, double b, int n, double (*func)(double)){
double x, h = (b-a)/n, i = ((*func) (a) + (*func) (b))/2;
for (x = a; n >1; n – –) i + = (*func)(( x+=h );
return h*i; }
//Файл INTEGRAL.CPP
#include <iostream.h>
#include <math.h>
#include <stdlib.h>
#include “trap.cpp“
double f1(double x){
return x*x+sin(3+x);}
double f2(double x){
return x/(x*x+1)+exp(-2*x*x);}
void main( ){
double a=1, b=3;
double i = trap(a, b, 50, f1);
Страницы
- « первая
- ‹ предыдущая
- …
- 62
- 63
- 64
- 65
- 66
- …
- следующая ›
- последняя »
