Ce programme permet de resoudre les equations de second degre

Soyez le premier à donner votre avis sur cette source.

Snippet vu 16 777 fois - Téléchargée 32 fois

Contenu du snippet

Il s'agit d'un programme qui donne le résultat d'une équation du second degré (qui dit une équation du second degré dit une équation de premier degré avec A = 0 )

Source / Exemple :


#include<stdio.h>
#include<math.h>
int main()
{
       float a,b,c,D,x,y,d;
       printf("\n\n\tce programme permet de resoudre les equations de second degre\n");
       printf("\n\n\tSaisir A = ");
       scanf("%f",&a);
       printf("\n\n\tSaisir B = ");
       scanf("%f",&b);
       printf("\n\n\tSaisir C = ");
       scanf("%f",&c);       
 D=(b*b)-(4*a*c);
       if(a==0 ){
            if( b!=0 ){
               x=-c/b;
               printf("\n\n\tLa Solution est : x = %.2f",x);
            }else if( c==0 ){
               printf("\n\n\t\tSolution quelconq"); 
            }else{
               system("color fc");
               printf("\n\n\t\tSolution impssible !\n\t\t %.2f != 0",c);
            }
       }else if( D==0 ){
               x=-b/(2*a);
               printf ("\n Delta = (%.2f)^2 - 4(%.2f)(%.2f) = %.2f\n\n Donc",b,a,c,D);
               printf ("\n\n L'equation admet une solution : \n\n\t\tx = -b/2a \n\n\t\t  = %.2f",x);
       }else if( D!=0 ){
               if( D>0 ){
                 d=sqrt(D); 
                 x=(d-b)/(2*a);
                 y=(-d-b)/(2*a);
                 printf ("\n Le discriminant D = (%.2f)^2 - 4(%.2f)(%.2f) = %.2f > 0",b,a,c,D);
                 printf ("\n Soit d = %.2f , la Racine carre de D\n\n Donc",d); 
                 printf ("\n\n L'equation admet deux solutions x & x'"); 
                 printf ("\n\n\tx = d-b/2a \t\t\t x'= -d-b/2a");
                 printf ("\n\n\tx = %.2f     \t\t x' = %.2f",x,y);
               }else{
                 d=sqrt(-D);
                 printf("\n\n Le discriminant D = %.2f < 0",D);
                 printf("\n L equation n'admet pas de solution dans R\n\n");
                 printf("La solution dans C :\n  Soit d = (%.2f)i ,& d^2 = -D",d);
                 x=b/(2*a);
                 y=d/(2*a);
                 printf("\n\n\t z  =  d-b/2a\t =  (%.2f)i - %.2f",y,x);
                 printf("\n\n\t z' = -d-b/2a\t = -(%.2f)i - %.2f",y,x);
               } 
       }
       getch();
       return 0;
}

Conclusion :


Merci de laisser vos commentaires, pour l'amélioration ;)

A voir également

Ajouter un commentaire Commentaires
spinalos Messages postés 22 Date d'inscription mardi 29 juillet 2008 Statut Membre Dernière intervention 5 août 2011
29 mai 2009 à 16:24
oui c'est vrai.. mais c'est pas mal quand méme..

ce petit programme va rendre service a nos petit fréres et soeurs ;)
betamu Messages postés 6 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 29 mai 2009
29 mai 2009 à 16:10
Pour les racines complexes c'est déjà mieux mais il manque
le module et l'argument (coordonnées polaires) :
||Z|| rho sqrt(x^2+y^2)
Arg( Z ) teta atan( y / rho ) (si rho est différent de 0)
Peut-être à titre documentaire il serait bon de fournir :
le discriminant Delta = b^2- 4 ac
la somme des racines S = -b/a
le produit des racines P = c/a
As-tu réfléchi au cas où les coefficients a,b,c sont .... complexes ainsi que la variable x !!!
Il y a du boulot dans ce cas là
:o)
spinalos Messages postés 22 Date d'inscription mardi 29 juillet 2008 Statut Membre Dernière intervention 5 août 2011
29 mai 2009 à 01:13
Bonne idée camarade ;)
betamu Messages postés 6 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 29 mai 2009
28 avril 2009 à 10:49
Si racines imaginaires fournir le module et l'argument
une solution étant de la forme
z = x + i y
alors
|| z || = racine_carrée( x^2 + y^2 )
arg( z ) = arc_tangente( y / x )
cs_exar Messages postés 286 Date d'inscription vendredi 5 décembre 2003 Statut Membre Dernière intervention 22 avril 2012 2
21 avril 2009 à 09:37
Oui, m'enfin, en cherchant un peu, tu trouveras sans problème comment faire... Petit conseil: cherches "directives de compilation" sur google...
Afficher les 9 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.