codice:
#include<stdio.h>
#include<stdlib.h>
double funz(double x)
{
return (2*x);
}
double int_trapezium(double from, double to, double n, double (*func)(double x))
{
double h = (to - from) / n;
double sum = func(from) + func(to);
int i;
for(i = 1;i < n;i++)
sum += 2.0*func(from + i * h);
return h * sum / 2.0;
}
int main()
{
int a;
int b;
int c;
printf("inserisci il primo intervallo di integrazione");
scanf("%d",&a);
printf("inserisci il secondo intervallo di integrazione");
scanf("%d",&b);
printf("inserisci il numero di intervalli");
scanf("%d",&c);
printf("%d",int_trapezium(a,b,c,funz));
return 0;
}
Fatto come hai detto , allora il programma mi restituisce come valori a volte 0 e a volte -1.