#include #include /* Pokazivac na funkciju - Primjer 2. Numericka integracija funkcije produljenom trapeznom formulom. */ double integracija(double, double, int, double (*)(double)); int main(void) { double a = 0.0, b = 2.0 * atan(1.0); /* pi/2 */ int n = 1; printf("Integral sinusa od 0 do pi/2:\n"); while (n <= 100000) { printf(" [n = %6d]: %13.10f\n", n, integracija(a, b, n, sin)); n *= 10; } return 0; } double integracija(double a, double b, int n, double (*f)(double)) { double suma, h = (b - a) / n; int i; suma = 0.5 * ( (*f)(a) + (*f)(b) ); for (i = 1; i < n; ++i) suma += (*f)(a + i * h); return h * suma; }