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;
}
}
A voir également:

2 réponses

Guki
 
Salut!

A mon avis c'est du C (avec des erreurs) et non du C++.
0
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