Calculer delta d'une équation du second dégré ainsi que ses racines...

Soyez le premier à donner votre avis sur cette source.

Snippet vu 46 211 fois - Téléchargée 32 fois

Contenu du snippet

Ce code est à mes yeux la façon la plus simple de calculer delta d'une équation du second dégré ainsi que ses racines (si racines il y a).
J'ai vue beaucoup de codes ayant le même but mais pourn débutant comme moi je trouve que c'est le plus facile.

Source / Exemple :


/*Voici un petit programme qui permet de calculer Delta d'une 
équation du second degré ainsi que la/les racine(s) de cette
équation, si racine(s) il y a.*/

#include <iostream> //Permet d'utiliser cout, cin
#include <math.h>  //Permet d'utiliser sqrt() pour calculer la racine
                   //carré d'un nombre
                   
using namespace std;

int main()
{
    //Declaration des variables "nombres", delta et solutions
    double a, b, c, delta, solution1, solution2, solution3;
    
    //Présentation du programme
    cout << "Bienvenue sur ce programme permettant de calculer "
    << "delta d'une equation du second degr\202" 
    << " puis de calculer les racines de cette equation (si racine il y a).\n"
    <<"\n"
    
    //Rentrer a, b, c
    << "Entrez a:" << endl;
    cin >> a;
    cout << "\n";
    
    cout << "Entrez b:" << endl;
    cin >> b;
    cout << "\n";
    
    cout << "Puis entrez c:" << endl;
    cin >> c;
    cout << "\n";
    
    //Calcul du résultat de b²-4ac
    delta = (b*b) - 4*a*c;
    cout << "Delta vaut " << delta << endl;
    
    //Calcul d'éventuelles racines
    if( delta < 0)
    {
        cout << "Il n'y a pas de racine car Delta est inferieur a 0.\n" << endl;
    }
    if( delta == 0)
    {
        solution1 = -b /(2*a);
        cout << "Il y a une solution: " << solution1 << "\n" <<endl;
    }
    if( delta > 0)
    {
        solution2 = (-b + sqrt(delta)) /(2*a);
        solution3 = (-b - sqrt(delta)) /(2*a);
        
        cout << "Il y a deux solutions." << endl;
        cout << "Ces solutions sont " << solution2 << " et " << solution3 << ".\n" << endl;
    }

    
    system("pause");
    return 0;
}

Conclusion :


N'hésitez pas à critiquer cette source qu'est en passant ma première.

A voir également

Ajouter un commentaire Commentaires
Helkanen
Messages postés
54
Date d'inscription
mardi 24 décembre 2002
Statut
Membre
Dernière intervention
9 juin 2004

16 déc. 2003 à 18:48
Salut

je débute en cpp et c'est justement ce prog que j'ai fait en premier (ou presque)
mais j'ai tenté d'utiliser des nombres complexes
(si delta < 0, on a deux solutions complexes conjuguées entre elles :
z1 = (-b -iRacine(delta))/2*a et z2=(-b +iRacine(delta))/2*a )
mais le truc c'est qu'il existe une classe <complex>, qui permet de manipuler les nombres complexes, étant donné que je suis une m** en cpp, je sais pas trop comment je peux l'utiliser dans une fonctions (si c'est possible ou si je dois transformer ça en un type...)

bon je sais j'apporte pas grand chose avec ce message, dsl

Helkanen
Gulius
Messages postés
19
Date d'inscription
mardi 25 novembre 2003
Statut
Membre
Dernière intervention
10 mars 2006

16 déc. 2003 à 18:30
Ok bas merci bcp déjà pour vos critiques et remarques
cs_radada
Messages postés
488
Date d'inscription
lundi 15 septembre 2003
Statut
Membre
Dernière intervention
21 avril 2009

16 déc. 2003 à 18:12
Et la gestion des erreurs si on ne rentre pas un nombre pour a, b ou c??? Un simple while suffit....
cs_aardman
Messages postés
1905
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
17 septembre 2012
3
15 déc. 2003 à 22:32
Salut,
Quand Delta < 0, une equation du second degré a coefitiens réels admet 2 solutions qui sont des nombres complexes.

Sinon, quand delta = 0, la solution c'est pas -b/(2*a) ?
Gulius
Messages postés
19
Date d'inscription
mardi 25 novembre 2003
Statut
Membre
Dernière intervention
10 mars 2006

15 déc. 2003 à 22:05
Oula ça va au dela de mes connaissances ça
Expliquez moi je me coucherais moi con
Afficher les 6 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.