Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Programma
Forum - C/C++ - Programma "integrale di funzione" con errori

Avatar
oliverissimo (Normal User)
Newbie


Messaggi: 11
Iscritto: 14/05/2010

Segnala al moderatore
Postato alle 17:12
Mercoledì, 02/06/2010
Salve a tutti :)
Sto' facendo un programma che calcoli un integrale ma il compilatore mi da' errore..
non riesco proprio a capire perche' :d
mi potete dare una mano? :)

Codice sorgente - presumibilmente C++

  1. #include <iostream>
  2. using namespace std;
  3.  
  4. float funz (float x)
  5. {
  6.         float y;
  7.         y=(x*x*x)/3+(x*x)/2+x;
  8.        
  9.         return y;
  10.         }
  11.  
  12. float integrale (float estr_a,float estr_b,float precisione)
  13. {      
  14.         float Area=0;
  15.        
  16.         precisione=estr_b-estr_a/precisione;
  17.        
  18.         for (float x=estr_a,x<=(estr_b-precisione),x+=precisione)   // <---errore
  19.         {
  20.                 Xn=x+precisione;
  21.                 Area=Area+( (precisione)*(funz(x)+funz(Xn))/2 );
  22.                 }
  23.         return Area;    // <---errore
  24.         }
  25.  
  26.  
  27.  
  28. int main()
  29. {
  30.         float x1;
  31.         float x2;
  32.         float p;
  33.  
  34.        
  35.         cout<<"CALCOLO DELL' INTEGRALE DI X^2+X+1\n\nInserire il primo estremo (x1): ";
  36.         cin>>x1;
  37.         cout<<"\nInserire il secondo estremo (x2): ";
  38.         cin>>x2;
  39.         cout<<"\nInserire la precisione dell' area: ";
  40.         cin>>p;
  41.        
  42.         cout<<"\n\nl'area sottostante alla curva e': "<<integrale(x1,x2,p);
  43.        
  44.         return 0;
  45. }



ecco anche cosa mi dice il compilatore:

g++ -Wall -c "Integrale.cpp" (nella cartella: /home/silvius/Scrivania)
Integrale.cpp: In function ‘float integrale(float, float, float)’:
Compilazione fallita.
Integrale.cpp:18: error: expected initializer before ‘<=’ token
Integrale.cpp:23: error: expected primary-expression before ‘return’
Integrale.cpp:23: error: expected ‘;’ before ‘return’
Integrale.cpp:23: error: expected primary-expression before ‘return’
Integrale.cpp:23: error: expected ‘)’ before ‘return’
Integrale.cpp:18: warning: unused variable ‘x’

Rigrazio in anticipo :)


PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 17:24
Mercoledì, 02/06/2010

ti sfugge che i 3 campi del ciclo for vanno separati dal punto e virgola, non dalla virgola.

PM Quote
Avatar
oliverissimo (Normal User)
Newbie


Messaggi: 11
Iscritto: 14/05/2010

Segnala al moderatore
Postato alle 17:43
Mercoledì, 02/06/2010
il che mi rende un vero pollo :om: Grazie mille =)

PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 17:53
Mercoledì, 02/06/2010
Testo quotato

Postato originariamente da oliverissimo:

il che mi rende un vero pollo :om: Grazie mille =)



non ti preoccupare, sono errori che possono capitare :)

la cosa sconcertante invece, che la dice lunga sulla qualità di gcc, è che dal messaggio di errore è praticamente impossibile capire dove si è sbagliato!

PM Quote