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

C++ Discussion :

erreur incomprehensible ?


Sujet :

C++

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Points : 877
    Points
    877
    Par défaut erreur incomprehensible ?
    Bonjour tous,
    j'ai un soucis vraiment bizarre :

    j'ai une méthode d'une classe qui prend en argument un "unsigned int" et un "double":
    voici le prototype:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    double get_DiffusionCoefficient(unsigned int,double);
    et voici la fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    double Element::get_DiffusionCoefficient(unsigned int _i,double _temperature)
    {
        return Diffusion_D0[_i]*exp((-Diffusion_Q[_i])/(R*_temperature));
    }

    2°) dans un cas j'ai ma fonction qui marche et dans un cas elle ne fonctionne pas pourtant les 2 cas sont similaires:

    ici ca fonctionne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    A[i]=A[i]-eelement.get_DiffusionCoefficient(0,333)
    ici ca fonctionne pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    A[i]=A[i]-eelement.get_DiffusionCoefficient(0,334)
    j'ai regardé les résultats pour la premiere solution et voici ce qui est renvoyé:
    5.7942e-025
    pour la deuxieme solution si le resultat renvoyé aurait été plus petit encore j'aurais compris: un probleme de zero numerique mais dans le cas 2 le résultat sera plus grand que dans le 1er cas...

    j'espere que vous pourrez m'aider...

    voici le message d'erreur en PJ

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Points : 877
    Points
    877
    Par défaut
    j'ai changé cette partie de mon programme pour contourner le probleme mais j'ai toujours pas compris pourquoi ca ne fonctionné pas auparavant...

  3. #3
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Salut,

    Déjà, quelle valeur te serais tu attendu à obtenir, et quelle valeur obtiens-tu au final

    Notre boule de crystal étant momentanément en panne, il nous est en effet difficile de deviner où se trouve le problème

    Ceci dit, d'après ton code, il apparait que tu souhaiterais sauvegarder dans un tableau le résultat de la soustraction d'une des valeurs (n'importe laquelle) et du coefficient de diffusion calculé sur base du premier élément d'un autre tableau.

    Les questions que tu dois donc te poser sont (en considérant que la formule que tu emploies est a priori correcte):
    • Es-tu certain que la valeur du premier élément du est correctement définie
    • Es-tu certain que la température que tu souhaite modifier est correctement définie
    • Es-tu certain que tu n'essaye pas de modifier un pointeur se trouvant en dehors du tableau (que l'index utilisé n'est pas supérieur au nombre d'éléments que ton tableau contient)
    • Es-tu certain que la température transmise est correcte
    • Es-tu en mesure d'évaluer correctement la valeur que tu es sensé obtenir
    • La différence est-elle réellement importante, et dans quelle proportion Comme tu parles quand même d'une valeur de 5 * 10 ^ -25, je n'oserais même pas jurer que le double soit en mesure de fournir un résultat approchant une telle précision
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Points : 1 543
    Points
    1 543
    Par défaut
    Salut,

    Citation Envoyé par 21did21 Voir le message
    voici le message d'erreur en PJ
    Utilise un débogueur, ça va te montrer où ça plante et te permettre de cerner le problème.

    MAT.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Points : 877
    Points
    877
    Par défaut
    je vais regarder tout cela, merci pour toutes ces pistes

  6. #6
    Membre averti
    Profil pro
    professeur des universités à la retraite
    Inscrit en
    Août 2008
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : professeur des universités à la retraite

    Informations forums :
    Inscription : Août 2008
    Messages : 364
    Points : 439
    Points
    439
    Par défaut
    Citation Envoyé par koala01 Voir le message
    [*]Es-tu en mesure d'évaluer correctement la valeur que tu es sensé obtenir
    @koala : à noter qu'ici l'orthographe correcte est ''censé'', ne pas confonfre "être censé" = "être supposé" avec "être sensé" = "être doué de sens ou de bon sens" (comme dans "cette remarque est tout à fait sensée").

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

Discussions similaires

  1. [VB.Net] erreur incomprehensible
    Par eown dans le forum Windows Forms
    Réponses: 3
    Dernier message: 08/05/2007, 02h03
  2. [XSLT] erreur incompréhensible
    Par gojira dans le forum XSL/XSLT/XPATH
    Réponses: 12
    Dernier message: 19/06/2006, 11h19
  3. [Fortran 77] Message d'erreur incompréhensible
    Par userB dans le forum Fortran
    Réponses: 2
    Dernier message: 09/06/2006, 10h43
  4. [vb.net][exception] erreur incomprehensible
    Par arnolem dans le forum Windows Forms
    Réponses: 8
    Dernier message: 05/01/2006, 14h33
  5. [langage] Erreur incomprehensible!!!!!
    Par sali dans le forum Langage
    Réponses: 4
    Dernier message: 08/05/2004, 20h58

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