Dichotomie sur c
Fermé
Chabanus
Messages postés
978
Date d'inscription
dimanche 23 décembre 2007
Statut
Membre
Dernière intervention
11 novembre 2011
-
29 févr. 2008 à 15:10
Chabanus Messages postés 978 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 11 novembre 2011 - 29 févr. 2008 à 21:07
Chabanus Messages postés 978 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 11 novembre 2011 - 29 févr. 2008 à 21:07
A voir également:
- Dichotomie en c
- Recherche dichotomique c - Forum C
- Recherche dichotomique en c ✓ - Forum C
- Trouver un nombre entre 0 et 10 par dichotomie ✓ - Forum Python
4 réponses
Bonjour
Plusieurs choses m'intriguent :
. tu parles d'un système d'équation (sans 's' ?') alors que normalement, un système a plusieurs équations. Je passe sur l'orthographe, mais le problème est très différent selon qu'il s'agit d'une équation unique ou d'un système.
. tu dois utiliser la dichotomie. Dans le programme que tu donnes, tu n'utilise la dichotomie que pour chercher la racine carrée du discriminant, pas pour résoudre l'équation à proprement parler.
. ça doit planter dès le départ parce que tu pars avec comme bornes 0 et FLT_MAX. Tu prends la moyenne, tu as FLT_MAX / 2 , dès que tu élèves au carré, boum, ça doit faire exploser ton processeur ! (façon de parler)
. enfin, je crois bien que tu fais l'affectation borne_sup / borne_inf en fonction de ton test est à l'envers
Plusieurs choses m'intriguent :
. tu parles d'un système d'équation (sans 's' ?') alors que normalement, un système a plusieurs équations. Je passe sur l'orthographe, mais le problème est très différent selon qu'il s'agit d'une équation unique ou d'un système.
. tu dois utiliser la dichotomie. Dans le programme que tu donnes, tu n'utilise la dichotomie que pour chercher la racine carrée du discriminant, pas pour résoudre l'équation à proprement parler.
. ça doit planter dès le départ parce que tu pars avec comme bornes 0 et FLT_MAX. Tu prends la moyenne, tu as FLT_MAX / 2 , dès que tu élèves au carré, boum, ça doit faire exploser ton processeur ! (façon de parler)
. enfin, je crois bien que tu fais l'affectation borne_sup / borne_inf en fonction de ton test est à l'envers
Bonjour,
Je me premets aussi de faire quelques remarques
borne_inf = 0;
borne_sup = FLT_MAX;
/*l'affectation de borne_sup nest pas bien placée
borne_sup doit etre egale au discriminant donc il faut d'abord
le calculer/*
printf("%.2f est le discriminant de cette equation\n", delta);
delta = (b*b) - (4*a*c);
/*tu veux afficher la valeur de delta avant de l'avoir calculé
ça ira mieux si tu inverse les deux lignes*/
if (delta<0)
{
printf("pas de solution reelle possible\n" );
}
/*si le test es verifié le programme est terminé
donc il ne faut pas executer le reste du code
on quitte par return(0);
ou alors il faut ecrire un test du genre
si (delta<0) alors .... sinon si (delta==0) alors ... sinon ....;*/
if (delta==0)
{
/*....*/
}
/*meme remarque*/
if (delta > 0)
{
/*...*/
}
/*ce test n'est pas necessaire puisque si delta n'est ni <0 ni==0
alors il ne peut etre que >0*/
/*enfin je crois aussi que l'affectation de borne_sup et borne_inf
en fonction du test est à l'envers*/
Je me premets aussi de faire quelques remarques
borne_inf = 0;
borne_sup = FLT_MAX;
/*l'affectation de borne_sup nest pas bien placée
borne_sup doit etre egale au discriminant donc il faut d'abord
le calculer/*
printf("%.2f est le discriminant de cette equation\n", delta);
delta = (b*b) - (4*a*c);
/*tu veux afficher la valeur de delta avant de l'avoir calculé
ça ira mieux si tu inverse les deux lignes*/
if (delta<0)
{
printf("pas de solution reelle possible\n" );
}
/*si le test es verifié le programme est terminé
donc il ne faut pas executer le reste du code
on quitte par return(0);
ou alors il faut ecrire un test du genre
si (delta<0) alors .... sinon si (delta==0) alors ... sinon ....;*/
if (delta==0)
{
/*....*/
}
/*meme remarque*/
if (delta > 0)
{
/*...*/
}
/*ce test n'est pas necessaire puisque si delta n'est ni <0 ni==0
alors il ne peut etre que >0*/
/*enfin je crois aussi que l'affectation de borne_sup et borne_inf
en fonction du test est à l'envers*/
Chabanus
Messages postés
978
Date d'inscription
dimanche 23 décembre 2007
Statut
Membre
Dernière intervention
11 novembre 2011
70
29 févr. 2008 à 20:13
29 févr. 2008 à 20:13
en effet, mais cela n'est qu'une partie d'un long programme, je voudrais aussi trouver les iterations de l'equation, merci comme même
Chabanus
Messages postés
978
Date d'inscription
dimanche 23 décembre 2007
Statut
Membre
Dernière intervention
11 novembre 2011
70
29 févr. 2008 à 21:07
29 févr. 2008 à 21:07
merci amigo ton aide m'a été trés bénéfique, je vais essayer :p