IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèque standard C Discussion :

Problème avec sqrt()


Sujet :

Bibliothèque standard C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 30
    Par défaut Problème avec sqrt()
    Bonjour à tous.
    J'ai un programme a faire en utilisant beacoup de formule mathématiques... mais mon problème est que lorsque j'utilise sqrt (pr la racine carré), mon calcul est coupé, on ne voit que la partie entière (ex on voit: x = 1.#IND00). J'ai tt essayé, tout est en double, j'ai mm essayé x = sqrt ((double)X); mais rien a changé.
    Si vous avez des idées, elles seront les bienvenus Merci

  2. #2
    Membre Expert
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Par défaut
    Salut,

    Pourrait on voir le code qui nous prouve ton probleme?

  3. #3
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 30
    Par défaut
    Par exemple, je calcule, lors des équations bicarré dans le 4ème degré, delta. j'obtiens delta = 0
    Mon code est celui ci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    else if (delta == 0) /*calcul des racines lorsque delta est nul*/
    {
            X=(-c)/(2.0*a);
            x=sqrt(X);
            x1=-sqrt(X);
            printf("les deux solutions sont %lf et %lf", x, x1);
    }
    Parfois j'obtiens X négatif, donc je prend sa racine carré donc je pense que c'est surement dû a cette erreur... je vais essayé!

  4. #4
    Membre Expert
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Par défaut
    Toutes les variables sont des doubles?
    Personnellement je sais pas ce qu'il se passe quand on fait "-(expression)", peut etre esssayer "(expression) * -1.0" pour s'assurer qu'on reste en double ?

  5. #5
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 30
    Par défaut
    ça yè j'ai trouvé la solution, en réalité quant X était négatif ça ne marchait pas... j'ai juste mis;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (X<0)
    {
            x = sqrt(abs(X));
            x1 = -sqrt(abs(X));
    }
    Et ça marche.. Merci en tt cas de ton aide!

  6. #6
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 969
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 969
    Par défaut
    Qoi,
    Citation Envoyé par Fredo123456 Voir le message
    ça yè j'ai trouvé la solution, en réalité quant X était négatif ça ne marchait pas... j'ai juste mis;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (X<0)
    {
            x = sqrt(abs(X));
            x1 = -sqrt(abs(X));
    }
    Et ça marche.. Merci en tt cas de ton aide!
    Sauf que le résultat est probablement faux par rapport à l'équation.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec sqrt
    Par okitrinaw dans le forum Fortran
    Réponses: 2
    Dernier message: 25/03/2014, 13h06
  2. Problème avec la fonction sqrt
    Par djoe43 dans le forum C++
    Réponses: 8
    Dernier message: 02/05/2010, 22h42
  3. Problème avec sqrt()
    Par condor_01 dans le forum C
    Réponses: 10
    Dernier message: 11/10/2007, 23h36
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo