Ce programme permet de resoudre les equations de second degre

Soyez le premier à donner votre avis sur cette source.

Snippet vu 15 213 fois - Téléchargée 30 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

Messages postés
22
Date d'inscription
mardi 29 juillet 2008
Statut
Membre
Dernière intervention
5 août 2011

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 ;)
Messages postés
6
Date d'inscription
mardi 1 mai 2007
Statut
Membre
Dernière intervention
29 mai 2009

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)
Messages postés
22
Date d'inscription
mardi 29 juillet 2008
Statut
Membre
Dernière intervention
5 août 2011

Bonne idée camarade ;)
Messages postés
6
Date d'inscription
mardi 1 mai 2007
Statut
Membre
Dernière intervention
29 mai 2009

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 )
Messages postés
286
Date d'inscription
vendredi 5 décembre 2003
Statut
Membre
Dernière intervention
22 avril 2012
1
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.