Salve sto studiando per un esame di fondamenti di informatica, ho provato a fare un esercizio sul calcolo di un integrale (con il metodo dei rettagoli) dati due estermi a(estermo minore asse x) e b(estermo maggiore asse x), ed n(il numero di intervalli da suddividere l'integrale, mi potete dire se il codice è corretto:
- Codice:
#include <stdio.h>
float area(float h,float d){
float ris=0;
ris=h*d;
printf("%f \n",ris);
return ris;
}
float rettangoli(float(*func)(float a,float b),float a,float b,float n){
float ris=0;
int i=0;
float h=0;
float d;
d=b-a;
h=((a+b)/n);
for(i=0; i<n; i++){
ris=ris+(*func)(h,d);
}
return ris;
}
void main(){
float a=0,b=0,n=0,val=0;
float ris=0;
printf("Inserisci il valore di A: \n");
scanf("%f",&a);
fflush(stdin);
printf("Inserisci il valore di B (DEVE ESSERE MAGGIORE DI A): \n");
scanf("%f",&b);
fflush(stdin);
printf("Inserisci il valore di N: \n");
scanf("%f",&n);
fflush(stdin);
ris=rettangoli(area,a,b,n);
printf("%f",ris);
fflush(stdin);
scanf("%f",a);
}