A voir également:
- Erreur de programmation en langage C !!! :s
- Erreur 0x80070643 - Accueil - Windows
- Application de programmation - Guide
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Langage binaire - Guide
- Erreur 1001 outlook - Accueil - Bureautique
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()
}
8 mars 2009 à 00:38
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()
}