Інколи доводиться у списку формальних аргументів (параметрів) функції використовувати інші функції. Така ситуація має місце, коли при звертанні до деякої функції, треба викликати іншу функцію.
Параметр-функція записується у вигляді прототипу, тобто вказується тип функції, її ім’я і в дужках — перелік типів формальних аргументів або типів та імен формальних аргументів.
Приклад 9.9. Скласти програму з використанням функції обчислення інтегралів методом трапецій (точність обчислення е = 10-3)
// P9_9.CPP — вычисление интеграла методом трапеции // использование функции как параметра значения # include <iostream.h> #include <math.h> #include <conio.h> const float E = 1.e-3; //--------- подынтегральная функция 1-го интеграла — fn1() float fn1 (float x) { return sqrt(l + log(x)); } //---------- подынтегральная функция 2-го интеграла — fn2() float fn2 (float x) { return log(1 + pow(x,2))/(1 + pow(x,2));} //----------------------------- функция метода трапеций — ft() float ft (int n, float a, float b, float fun(float)) { int i; float s1, h, s = 0; do { s1 =s; h = (b - a)/n; s = (fun(a) + fun(b))/2; for (i = 1; і <= n-1; i++) s += fun(a + i*h); s *= h; n *= 2; } while (fabs(s - s1) > E); return s; } //------------------------------------------- главная функция void main ( ) { float y; у = ft(20, 2.2, 3.0, fn1) + ft(20, 0, 1.0, fn2); cout << "y = " << у << endl; getch(); }
Результат виконання програми:
у = 1.29012.