Polynome et formule quadratique en c
Résolu
acrony
Messages postés
14
Date d'inscription
Statut
Membre
Dernière intervention
-
Pacorabanix Messages postés 3248 Date d'inscription Statut Membre Dernière intervention -
Pacorabanix Messages postés 3248 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je sais que le code que je mets en ligne est loin d'être complet et qu'il ne fonctionnera donc pas. Il s'agit de la résolution d'un polynôme en utilisation la formule quadratique, je ne sais pas si je suis sur le bon chemin...quelqu'un pourrait m'éclairer s'il vous plait? Merci.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a, b, discrim;
const c;
double s1, s2;
c = -4; s1 = 0; s2 = 0;
printf("f(x)= ax2 + bx + c = 0\n");
discrim = (b*b) - (4 * a * c);
if (discrim < 0)
{
printf("There is no solution");
}
else
if (discrim = 0)
{
s1 = s2 = - b/(2*a)
printf("There is one solution");
printf ("%f", s1);
}
else
if (discrim > 0)
{
s1 = (-b - racine(discrim)) / (2*a);
s2 = (-b + racine(discrim)) / (2*a);
printf("There are two solutions");
printf ("%f", s1); printf ("%f", s2);
}
return 0;
}
je sais que le code que je mets en ligne est loin d'être complet et qu'il ne fonctionnera donc pas. Il s'agit de la résolution d'un polynôme en utilisation la formule quadratique, je ne sais pas si je suis sur le bon chemin...quelqu'un pourrait m'éclairer s'il vous plait? Merci.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a, b, discrim;
const c;
double s1, s2;
c = -4; s1 = 0; s2 = 0;
printf("f(x)= ax2 + bx + c = 0\n");
discrim = (b*b) - (4 * a * c);
if (discrim < 0)
{
printf("There is no solution");
}
else
if (discrim = 0)
{
s1 = s2 = - b/(2*a)
printf("There is one solution");
printf ("%f", s1);
}
else
if (discrim > 0)
{
s1 = (-b - racine(discrim)) / (2*a);
s2 = (-b + racine(discrim)) / (2*a);
printf("There are two solutions");
printf ("%f", s1); printf ("%f", s2);
}
return 0;
}
A voir également:
- Polynome et formule quadratique en c
- Formule si et - Guide
- Excel mise en forme conditionnelle formule - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Formule mathématique - Télécharger - Études & Formations
- Formule somme excel colonne - Guide
2 réponses
salut,
je pense que le principe de ton programme est exactement le bon,
néanmoins je vois déjà plusieurs petites erreurs (tout à fait classiques pour les débutants ;) )
tout d'abord, je pense que l'idée de ton programme est de résoudre ton polynome selon le a, b et c que l'utilisateur entre via le clavier.
là tu définis c comme une constante (de quel type ??? ) et a et b comme des entiers mais tu ne leur donnes jamais aucune valeur.
ensuite, je ne suis pas sûr que a et b et le déterminant soient forcément des entiers...
en plus si tu utilises des entiers tu risques d'avoir des problème dans tes calculs. (en faisant des calculs avec des int, le programme va calculer... un int ! donc meme si la division donne un nombre à virgule, ça va être tronqué).
ensuite, une petite erreur aussi ici :
if (discrim = 0)
là tu ne testes pas si le discriminant fait zéro ou pas. Tu lui assignes la valeur zéro.
je pense que le principe de ton programme est exactement le bon,
néanmoins je vois déjà plusieurs petites erreurs (tout à fait classiques pour les débutants ;) )
tout d'abord, je pense que l'idée de ton programme est de résoudre ton polynome selon le a, b et c que l'utilisateur entre via le clavier.
là tu définis c comme une constante (de quel type ??? ) et a et b comme des entiers mais tu ne leur donnes jamais aucune valeur.
ensuite, je ne suis pas sûr que a et b et le déterminant soient forcément des entiers...
en plus si tu utilises des entiers tu risques d'avoir des problème dans tes calculs. (en faisant des calculs avec des int, le programme va calculer... un int ! donc meme si la division donne un nombre à virgule, ça va être tronqué).
ensuite, une petite erreur aussi ici :
if (discrim = 0)
là tu ne testes pas si le discriminant fait zéro ou pas. Tu lui assignes la valeur zéro.
tiens, voilà mon site préféré pour programmer en C/C++ (pour les trucs basiques)
http://www.cplusplus.com/reference/cmath/
http://www.cplusplus.com/reference/cmath/
printf("f(x)= ax2 + bx + c = 0\n");
par exemple :
printf("f(x)= %dx2 + %dx + %d = 0\n", a, b, c);
ou avec des %f... selon le type que tu décides de donner à a, b et c.
je mets en ligne le code avec tes orientations. J'ai quand même un gros soucis en tant que super débutant:
c'est le calcul de la racine carrée. Comment je peux programmer ca? Merci de tes orientations, si tu peux m'aider encore ce serait sympa...
#include <stdio.h>
#include <stdlib.h>
int main()
{
double s1, s2, a, b, c, discrim;
c = 0; s1 = 0; s2 = 0, b = 0, a = 0;
printf(" Input a \n");
scanf("%f", &a);
printf(" Input b \n");
scanf("%f", &b);
printf(" Input c\n");
scanf("%f", &c);
printf("f(x)= %fx2 + %f + %f = 0\n", a, b, c);
discrim = (b*b) - (4 * a * c);
if (discrim < 0)
{
printf("There is no solution");
}
else
if (discrim == 0)
{
s1 = s2 = - b/(2*a)
printf("There is one solution");
printf ("%f", s1);
}
else
if (discrim > 0)
{
s1 = (-b - racine(discrim)) / (2*a);
s2 = (-b + racine(discrim)) / (2*a);
printf("There are two solutions");
printf ("%f", s1); printf ("%f", s2);
}
return 0;
}
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
int main()
/*{
int x = 69;
printf("%d => %lf\n",x,sqrt(x));
return 0;
}*/
{
float s1, s2, a, b, c, discrim;
c = 0; s1 = 0; s2 = 0, b = 0, a = 0;
printf(" Input a \n");
scanf("%f", &a);
printf(" Input b \n");
scanf("%f", &b);
printf(" Input c\n");
scanf("%f", &c);
printf("f(x)= %fx2 + %f + %f = 0\n", a, b, c);
discrim = (b*b) - (4 * a * c);
if (discrim < 0)
{
printf("There is no solution");
}
else
if (discrim == 0)
{
s1 = s2 = - b/(2*a);
printf("There is one solution");
printf ("%f", s1);
}
else
if (discrim > 0)
{
s1 = (-b - sqrt(discrim)) / (2*a);
s2 = (-b + sqrt(discrim)) / (2*a);
printf("There are two solutions");
printf ("%f", s1); printf ("%f", s2);
}
return 0;
}
et sinon je te propose maintenant de tester toi-même ton programme, qui devrait compiler après ça :)
et fais bien sûr des calculs "à la main" avec des polynômes faciles, avant de les rentrer dans ton programme, pour tester si ton programme donne des réponses juste dans les divers cas de figure.
PS : utilises la balise "code" lorsque tu écris dans le forum !
sélectionne ton programme et clique sur le bouton "code" à coté de gras italique souligné.
EDIT : ah ben tu m'as grillé pour sqrt.