juancho2786
Messages postés39Date d'inscriptionmardi 5 juillet 2005StatutMembreDernière intervention29 octobre 2008
-
1 août 2005 à 02:22
juancho2786
Messages postés39Date d'inscriptionmardi 5 juillet 2005StatutMembreDernière intervention29 octobre 2008
-
6 août 2005 à 14:51
bonsoir a tous...
J'ai voulu créer un programme en C qui demande trois nombres (a,b,c) a l'utilisateur tel que
ax² + bx + c = 0 pour ensuite calculer les racines. Mais aparemment j'ai un problème.
Pouvez vous m'aidez SVP. Quelles modifications faire? Comment alléger le code?
Merci d'avance
Voici le code :
#include <stdio.h>
#include <math.h>
main()
{
short a,b,c,rho;
float tmp;
printf("Entrez un nombre a, un nombre b et un nombre c tel que ax² + bx + c = 0");
printf("\n\na = ? , b = ? , c = ? :");
scanf("%hd %hd %hd",&a, &b, &c);
printf("\n %hdx² + %hdx + %hd = 0", a,b,c);
rho=b*b-4*a*c ;
tmp= sqrt(b*b-4*a*c);
if (rho >0)
printf("\n\nLes racines sont : %f et %f", (-b+ temp)/(2*a),(-b - temp)/(2*a));
else if (rho == 0)
printf ("\n\nLa racine est : %.hd ", (-b)/(2*a));
else
printf("\n\nIl n'y a pas de racines");
}
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201013 1 août 2005 à 08:47
tmp= sqrt(b*b-4*a*c);
Tu viens de calculer ca dans tho, pourquoi ne pas réutiliser cette variable? Peut être penser a vérifier si rho est négatif avant de calculer sa racine carrée?
juancho2786
Messages postés39Date d'inscriptionmardi 5 juillet 2005StatutMembreDernière intervention29 octobre 2008 1 août 2005 à 12:53
Mais le probleme vient quand y a pas de racine.J'ai ce message : sqrt:_DOMAIN error
Aidez moi SVP...
#include <stdio.h>
#include <math.h>
main()
{
short a,b,c,rho;
float temp;
printf("Entrez un nombre a, un nombre b et un nombre c tel que ax² + bx + c = 0");
printf("\n\na = ? , b = ? , c = ? :");
scanf("%hd %hd %hd",&a, &b, &c);
printf("\n%hdx² + %hdx + %hd = 0", a,b,c);
rho=b*b-4*a*c ;
temp= sqrt(rho);
if (rho >0)
printf("\n\nLes racines sont : %f et %f", (-b+ temp)/(2*a),(-b - temp)/(2*a));
else if (rho == 0)
printf ("\n\nLa racine est : %.hd ", (-b)/(2*a));
else
printf("\n\nIl n'y a pas de racines");
}
vinc1008881
Messages postés257Date d'inscriptiondimanche 22 août 2004StatutMembreDernière intervention29 septembre 20103 1 août 2005 à 15:24
domain error moi sa me fait penser à erreur dans l'ensemnle de def (c a d quand tu demande a ta casio de faire racine(-5), elle fait la guelle .
(1)==> met ensemble les 2 premier printf (); pour gagner de la place
(2)==>inutile d'utiliser un 'h' devant le d, en car si je mamuse a entrer c = 256 c est overflow et "K C le processus" lol, surtout s tu est sous windows .
(3)==> moi je ferrais sa a ta place
if (!(rho b*b-4(a*c))) {/* rho 0, on a une solution double*/}
if (rho>0){/*on a 2 racine réelle*/}else {/*on a 2 racine imaginaire voir cour terminal S)
(4)==>degage la librairie math.h et fai ta propre fonction racine !
juancho2786
Messages postés39Date d'inscriptionmardi 5 juillet 2005StatutMembreDernière intervention29 octobre 2008 1 août 2005 à 19:50
Ahh voilà je n'ai plus ce message.
J'ai fais quelques modifications. Mais je comprends pas pourquoi j'avais ce message d'erreur avant... Pouvez vous m'expliquer SVP???
#include <stdio.h>
#include <math.h>
main()
{
short a,b,c,rho;
printf("Entrez un nombre a, un nombre b et un nombre c tel que ax² + bx + c = 0");
printf("\n\na = ? , b = ? , c = ? :");
scanf("%hd %hd %hd",&a, &b, &c);
printf("\n%hdx² + %hdx + %hd = 0", a,b,c);
rho=b*b-4*a*c ;
if (rho < 0)
printf("\n\nIl n'y a pas de racines");
else if (rho == 0)
printf ("\n\nLa racine est : %hd ", (-b)/(2*a));
else
printf("\n\nLes racines sont : %.2f et %.2f", (-b+ sqrt(rho))/(2*a),(-b - sqrt(rho))/(2*a));
}
cs_Joky
Messages postés1787Date d'inscriptionlundi 22 novembre 2004StatutMembreDernière intervention31 janvier 20092 2 août 2005 à 11:21
Ouai c'est vrai ça
Comment calculer une racine carré mais à base des opérations mathématiques traditionnelles
Genre on oublie les puissance 1/2 pour les malins lol
Vous me rédigerez d'après votre propre expérience et vos seules
connaissances, un rapport qui démontrera dans un premier temps que la
question pose un vrai problème et vous vous dépecherez de résoudre
cette énigme :)
juancho2786
Messages postés39Date d'inscriptionmardi 5 juillet 2005StatutMembreDernière intervention29 octobre 2008 2 août 2005 à 19:43
Si je comprends bien, vous me demandez de trouver un procédé avec les opérations mathématiques traditionnelles pour trouver la racine carré de n importe quel nombre réels( positif bien sur )...
Je me trompe? ou c'est bien cela?
Une petite aide peut-être?
Si non a part ça le code de mon "programme" est correcte?