Petit jeu entre amis

wissou -  
 Guki -
SALUT!! les poto, voici un petit jeu pour les adept de la programmation C++ ,le but set de chercher l'erreur dans le programme suivant , a l'aide PLZ:

/*recheche des racines par la méthode de dichotomie*/
#include <stdlib.h>
double f(double);
main()
{
/*déclaration des variables*/

double a,b,precision,pointa,pointb,fa,fc,fb,c,scrutation,x;

/*lecture des données*/

printf("intervalle a etudier?:");
scanf("%d,%d",&a,&b);
printf("precision demande?:");
scanf("%d",&precision);

/*boucle*/

pointa=a;
pointb=b;
fa=f(pointa);
fb=f(pointb);

while((fb-fa)>precision)
{
c=(pointa+pointb)/2;
fc=f(c);
if (f(pointa)*fc<0)
f(pointb)=c ;
else
{
pointa=c;
fa=fc ;
}
printf("x=%f/n",(pointa+pointb)/2);
scanf("%f",scrutation);
}

double f(double x);
{
double resultat;
resultat=4*x*x*x +45*x*x+200;
return f;
}
}

2 réponses

  1. Guki
     
    Salut!

    A mon avis c'est du C (avec des erreurs) et non du C++.
    0
  2. Guki
     
    On va jouer au jeu des 1000 erreurs. ^^

    1ère:

    #include <stdlib.h>
    
    int main(void)
    {
    	return EXIT_SUCCESS;
    }
    


    Oui il faut donner un type int à la fonction main et lui retourner un code de bonne exécution en locurrence ici EXIT_SUCCESS qui vaut 0.

    2e:

    double pointa;
    double pointb;
    


    2 variables de trop car tu affectes a et b mais tu ne les réutilises pas pourquoi?

    3e:

    if(condition)
    {
    	code1
    }
    else
    {
    	code2
    }
    


    Limite au maximum la portée des variables grace aux blocs ce qui libère de la mémoire quand elles ne sont plus utiles.

    4e:

     scanf("%f", &scrutation); 
    


    Ne pas oublier de donner l'adresse de la variable.

    5e:

     resultat=4*x*x*x +45*x*x+200;
    


    Tu peux utiliser quand même la fonction puissance tel:

     resultat = 4 * pow(x, 3) +45 * pow(x, 2) + 200;
    


    Sans oublier:

    #include <math.h>
    


    La suite au prochain épisode...
    0