Esercizio preparazione esame calcolo integrale in c

Messaggioda rikideveloper » 06/03/2015, 17:15

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);
}
rikideveloper
Junior Member
Junior Member
 
Messaggio: 27 di 222
Iscritto il: 20/08/2014, 18:01

Re: Esercizio preparazione esame calcolo integrale in c

Messaggioda apatriarca » 06/03/2015, 17:42

Ciao, ho modificato il tuo codice in modo da inserirlo in un blocco di codice (tag code). La prima cosa sbagliata nel codice è quella di usare fflush con stdin. fflush è infatti definito solo per stream di scrittura e non per stream aperti in lettura. Non ne capisco poi del tutto la logica.. Di che funzione stai cercando di calcolare l'integrale?
apatriarca
Moderatore
Moderatore
 
Messaggio: 3732 di 10436
Iscritto il: 08/12/2008, 20:37
Località: Madrid


Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite