Integrale metodo dei trapezi[C]

fk16
Ragazzi volevo sapere da voi se l'implementazione di questo codice C per calcolare l'integrale di una funzione con il metodo dei trapezi è corretto. Se non vi è molto disturbo, mi potete spiegare cosa significa (*f)(). Grazie a tutti per l'eventuale aiuto.
#include <stdio.h>
#include <math.h>

double integrale(double,double,double, double(*f)());

int main(){
	double dx =1;
	double a,b;
	printf("Inserire i valori dell'intervallo:\n");
	scanf("%lf %lf", &a, &b);
	printf("%lf",integrale(a,b,dx,sin));
system("pause");
return 0;
}

double integrale(double a, double b, double dx, double (*f)()){
	double i, y1, y2, area = 0,hdx;
	y1 = (*f)(a);
	hdx = dx / 2;
	for(i = a; i < b; i += dx){
		y2 = (*f)(i+dx);
		area = (y2 + y1)*hdx;
		y1 = y2; 
	} 
	i = -dx;
	area += (y2 + (*f)(b)*(b-a)) / 2;
	return area;
}

Risposte
garnak.olegovitc1
Salve fk16,

"fk16":
Se non vi è molto disturbo, mi potete spiegare cosa significa (*f)(). Grazie a tutti per l'eventuale aiuto.


quindi non lo hai scritto tu? :-D !

Cordiali saluti

fk16
No l'ha spiegato il mio professore ma io quel giono non c'ero. Mi sono fatto passare gli appunti ma non erano nemmeno scritti bene, quindi non so se il programma è giusto e sopratutto cosa significa questa (*f)()... :?

vict85
E' un puntatore a funzioni.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.