Intrusions dans le programme
simli
Messages postés
96
Date d'inscription
Statut
Membre
Dernière intervention
-
simli Messages postés 96 Date d'inscription Statut Membre Dernière intervention -
simli Messages postés 96 Date d'inscription Statut Membre Dernière intervention -
bonjour
je viens de commencer a m’exercer dans le C# et là je fais un petit prog de resolution d'équations de second degré dont voici le code
mais dès que je compile il apparait que cette equation n'admet pas de racines
-1
appuyez sur une touche pour continuer....
1- svp dites moi pourqui
2- le -1 là vien d'où?
merci
je viens de commencer a m’exercer dans le C# et là je fais un petit prog de resolution d'équations de second degré dont voici le code
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static double racines(double a, double b, double c) { double det = b * b - 4 * a * c; double x1 = (-b + Math.Sqrt(det)) / 2 * a; double x2 = (-b - Math.Sqrt(det)) / 2 * a; double x = (-b) / 2 * a; if (det < 0) Console.WriteLine("cette equation n'admet pas de racines"); if (det==0) Console.WriteLine("cette equation admet une solution double qui est X= " + x); return x; if (det > 0) Console.WriteLine("cette equation admet deux solutions distinctes qui sont: X1 = " + x1 + " et X2 = " + x2); return x1+x2; } static void Main(string[] args) { double valeur = racines(1,2,4); Console.WriteLine(valeur); } } }
mais dès que je compile il apparait que cette equation n'admet pas de racines
-1
appuyez sur une touche pour continuer....
1- svp dites moi pourqui
2- le -1 là vien d'où?
merci
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Intrusions dans le programme
- Programme demarrage windows - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Message programmé iphone - Guide
- Mettre en veille un programme - Guide
- Programme word gratuit - Guide
2 réponses
Bonjour,
Le -1 ? il vient de ta ligne :
qui retourne la valeur de X
Tu devrais plutôt écrire ton code ainsi :
Edit : correction de type sur la valeur de retour.
Cordialement,
Jordane
Le -1 ? il vient de ta ligne :
Console.WriteLine(valeur);
qui retourne la valeur de X
Tu devrais plutôt écrire ton code ainsi :
class Program { static double racines(double a, double b, double c) { string result=""; double det = b * b - 4 * a * c; double x1 = (-b + Math.Sqrt(det)) / 2 * a; double x2 = (-b - Math.Sqrt(det)) / 2 * a; double x = (-b) / 2 * a; if (det < 0) result = "cette equation n'admet pas de racines"; if (det==0) result = "cette equation admet une solution double qui est X= " + x; if (det > 0) result = "cette equation admet deux solutions distinctes qui sont: X1 = " + x1 + " et X2 = " + x2; return result; } static void Main(string[] args) { string valeur = racines(1,2,4); Console.WriteLine(valeur); } }
Edit : correction de type sur la valeur de retour.
Cordialement,
Jordane
Bonjour
Tu es sûr de ta formule ? Moi j'aurais mis
En en calculant la racine carrée de det avant d'avoir vérifié son signe, es-tu bien conscient de ce que tu fais ?
double x1 = (-b + Math.Sqrt(det)) / 2 * a;
Tu es sûr de ta formule ? Moi j'aurais mis
/ 2 / aou
/ (2 *a).
En en calculant la racine carrée de det avant d'avoir vérifié son signe, es-tu bien conscient de ce que tu fais ?
sa racine carrée est un nombre complexe
C'est bien ce que je pensais, tu n'es pas conscient de ce que tu fais.
D'après la doc de C#, la racine carrée d'un nombre négatif c'est la valeur spéciale NaN (Not a Number).
https://docs.microsoft.com/fr-fr/dotnet/api/system.math.sqrt?redirectedfrom=MSDN&view=netframework-4.8
C'est bien ce que je pensais, tu n'es pas conscient de ce que tu fais.
D'après la doc de C#, la racine carrée d'un nombre négatif c'est la valeur spéciale NaN (Not a Number).
https://docs.microsoft.com/fr-fr/dotnet/api/system.math.sqrt?redirectedfrom=MSDN&view=netframework-4.8
stp g fais donc comment pour lire les valeurs?
https://www.microsoft.com/en-us/download/details.aspx?id=55979
Sinon tu ne pourras pas lire séparément X1 et X2
Langage C# ....;
https://www.microsoft.com/en-us/download/details.aspx?id=55979
Sachant qu'après... pour "récupérer" ces valeurs ... tu ne peux plus simplement en faire un Console.WriteLine ...
vu que ce n'est plus du "text" mais un ARRAY !