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 :

problème avec #INF


Sujet :

C++

  1. #1
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 158
    Par défaut problème avec #INF
    j'ai ce programme pour le calcule de la somme "s" des carrés d'éléments d'un vecteur, lors de l'exécution pour nb grand il me donne #INF. qlq peut m'aider SVP ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    double s=0;
    double x;
    for (int i=0; i<4*nb; i++)
    {
    x = err[i]*err[i];
    s = s + x ;
    }

  2. #2
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Quelle est l'amplitude de tes données ? (t'aurai dû préciser ce genre d'information dès le départ, c'est ce qui est le plus important...)

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 158
    Par défaut
    oui vous avez raison, mais je ne sais pas vraiment jusqu'à ou peut aller car ce sont des résultats issuent d'une autre étape.
    ce que j'ai remarqué est que:
    - les données dont err[i] varient entre 0.001453 et 2.09844
    - la valeur qu'a atteint s avant de devenir #INF est: 75.98424

  4. #4
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Et que te dit le débuggeur ?

  5. #5
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Salut,
    Un débordement sur ton indice qui ferait prendre une valeur inattendue ?

  6. #6
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 158
    Par défaut
    Bonjour, non je ne crois pas que c le cas. car j'ai visualisé le contenu de err[i] dans chaque itération et toutes les valeurs étaient bonnes!!!!

    Alors je me demande est ce que j'ai besoin d'utiliser une librairie qui réalise des calculs long ou quoi???

  7. #7
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    double s=0;
    double x;
    for (int i=0; i<4*nb; i++)
    {
    std::cout<<"i = "<<i<<"err[i]= "<<err[i]<<"s = "<<s<<endl;
    x = err[i]*err[i];
    s = s + x ;
    }
    Les deux trois dernières lignes affichent quoi ?

  8. #8
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 158
    Par défaut
    EN voici les trois dernières lignes avant que ça commence à afficher le #INF:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    err[15] = 0
    r15 = 75.95485446
    err[16] = 0 
    r15 = 75.95485446
    err[17] = -2.788156703e+283
    r17 = 1.#INF

  9. #9
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    err[17] = -2.788156703e+283
    Ton tableau est donc mal rempli...

  10. #10
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Voilà, il suffisait de regarder avec un débuggeur, comme j'avais conseillé de le faire, et la question n'aurait même pas été posée.

  11. #11
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Citation Envoyé par Matthieu Brucher Voir le message
    Voilà, il suffisait de regarder avec un débuggeur, comme j'avais conseillé de le faire, et la question n'aurait même pas été posée.
    En plus une telle valeur, ça me fait quand même penser à un dépassement d'indice (ou un écrasement)

  12. #12
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Citation Envoyé par 3DArchi Voir le message
    En plus une telle valeur, ça me fait quand même penser à un dépassement d'indice (ou un écrasement)
    Exactement.
    Un débuggeur aurait montré qu'on fait une itération supplémentaire sans avoir à modifier le code (au hasard, on ne devrait pas aller jusque 17), ou permet de détecter le moment où la valeur est écrasée.

  13. #13
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 158
    Par défaut
    Merci bien pour votre aide.
    C comme vous l'avez dit; le tableau était mal rempli par la phase précédante.
    Je regarderai attentivement la prochaine fois le debuggeur.

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

Discussions similaires

  1. Problèmes avec WEB-INF : JSF
    Par le_misterioso dans le forum JSF
    Réponses: 0
    Dernier message: 31/05/2011, 02h45
  2. Petit problème avec autorun.inf
    Par LOBO1986 dans le forum Windows
    Réponses: 1
    Dernier message: 29/12/2010, 10h14
  3. Problème avec Autorun.inf
    Par cjacquel dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 21/12/2006, 13h30
  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