Erreur de programmation en langage C !!! :s
helpme
-
Nomdidiou !! -
Nomdidiou !! -
Bonjour,
Voila; j'éssaye d'éxecuter le programme suivant qui mets en oeuvre le méthode de dicothomie, mais à ce qu'il parait, il ya des erreurs quelque part, et je réussi pas à les trouver, donc je voudrais que quelqu'un puisse m'aider, merci d'avance !!
#include<conio.h>
#include<stdio.h>
#incude<math.h>
{
float f(floatx)
float r;
r=x*x*x-7*x*x+x-7;
return r;
}
main()
{
float a,b,n,eps,m;
scanf("%f",&a);
scanf("%f",&b);
scanf("%f",&eps);
do
{
m=a+b/2;
if(f(a)*f(m)<0)
else b=m;
if(f(m)=0)
TR=1;
else a=m;
getch()
}
Voila; j'éssaye d'éxecuter le programme suivant qui mets en oeuvre le méthode de dicothomie, mais à ce qu'il parait, il ya des erreurs quelque part, et je réussi pas à les trouver, donc je voudrais que quelqu'un puisse m'aider, merci d'avance !!
#include<conio.h>
#include<stdio.h>
#incude<math.h>
{
float f(floatx)
float r;
r=x*x*x-7*x*x+x-7;
return r;
}
main()
{
float a,b,n,eps,m;
scanf("%f",&a);
scanf("%f",&b);
scanf("%f",&eps);
do
{
m=a+b/2;
if(f(a)*f(m)<0)
else b=m;
if(f(m)=0)
TR=1;
else a=m;
getch()
}
A voir également:
- Erreur de programmation en langage C !!! :s
- Application de programmation - Guide
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
1 réponse
Re,
On t'avais pourtant donné des pistes :
Quelques remarques :
1- Ça déjà ça compilera.
2- Je pense que l'algorithme de recherche dichotomique pour chercher P(x) = 0 c'est plutôt ça je pense ^^.
#include<conio.h>
#include<stdio.h>
#incude<math.h>
float f(float x)
{
float r;
r = (x*x*x)- (7*x*x) + x - 7;
return r;
}
main()
{
float a,b,n,eps,m;
scanf("%f",&a);
scanf("%f",&b);
scanf("%f",&eps);
do
{
m=a+b/2;
if (f(a) - f(m) < 0)
{
b=m;
}
else
{
a=m;
}
if (f(m)==0)
{
TR=1;
}
} while (TR != 1);
printf ("Alors !! --> P(m) = 0 pour la valeur m = %f", m);
getch()
}
On t'avais pourtant donné des pistes :
Quelques remarques :
1- Ça déjà ça compilera.
2- Je pense que l'algorithme de recherche dichotomique pour chercher P(x) = 0 c'est plutôt ça je pense ^^.
#include<conio.h>
#include<stdio.h>
#incude<math.h>
float f(float x)
{
float r;
r = (x*x*x)- (7*x*x) + x - 7;
return r;
}
main()
{
float a,b,n,eps,m;
scanf("%f",&a);
scanf("%f",&b);
scanf("%f",&eps);
do
{
m=a+b/2;
if (f(a) - f(m) < 0)
{
b=m;
}
else
{
a=m;
}
if (f(m)==0)
{
TR=1;
}
} while (TR != 1);
printf ("Alors !! --> P(m) = 0 pour la valeur m = %f", m);
getch()
}
Je me souvenais plus exactement de l'algorithme.
Il est ici votre algorithme : https://fr.wikipedia.org/wiki/M%C3%A9thode_de_dichotomie
b : c'est la partie supérieure.
a : c'est la partie inférieure.
m : c'est la valeur approchée telle que P(m) tende vers 0.
eps : la précision.
Donc, avec de petites corrections, ça devient :
#include<conio.h>
#include<stdio.h>
#incude<math.h>
// Fonction de calcul polynôme
float f(float x)
{
float r;
r = (x*x*x)- (7*x*x) + x - 7;
return r;
}
main()
{
float a,b,eps,m;
// On entre les valeurs
scanf("%f",&a);
scanf("%f",&b);
scanf("%f",&eps);
// La boucle dichotomique (voir algo.)
do
{
m=a+b/2;
if (f(a) * f(m) > 0)
{
a=m;
}
else
{
b=m;
}
if ((f(b) - f(a) <= eps)
{
TR=1;
}
} while (TR != 1);
printf ("Alors !! --> P(m) = 0 pour la valeur m = %f avec une précision de %f", m, eps);
getch()
}