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 :

[C++] Plantage


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    3
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 3
    Par d�faut [C++] Plantage
    Bonjour,

    C'est mon premier poste ! Je viens de d�couvrir votre site, et pense s'y interresser tr�s fortement dans un futur proche !

    Mais voila, en reprennant l� o� j'avais laiss� tomber le C++ il y a quelque ann�es, d�j� un probl�me !

    Je viens d'installer Dev-C++ et j'ai voulu tester un petit programme pour calculer Pi � une erreur souhait� pr�s.

    Je commence par calculer la somme des 1/k^2, mais l� directe �a plante... pourtant je pars bien de 1... Lorsque j'enl�ve les 1/k^2, tout il n'y a pas d'erreur (mais du coup c'est pas la somme souhait�).

    Matez le code de beginner :p mais je ne comprends pas !!!

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    #include <cstdlib>
    #include <iostream>
     
    using namespace std;
     
    int main()
    {
     float resultat=0;
     int i;
     
     for (i=1;i<=15;i++)   //15 c'est un exemple, on peut faire tendre vers
     {                              //l'infini pour que ça soit plus juste.
         resultat+=1/(i^2);
     }
     cout << resultat; 
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    Je pr�cise, il n'y a pas d'erreur � la compilation, seulement � l'execution une jolie boite Microsoft qui annonce un plantage! Pourtant je ne manipule pas des pointeurs, etc....

    Si quelqu'un veut bien m'expliquer, c'est sympa !

    Salut !

  2. #2
    R�dacteur
    Avatar de Laurent Gomila
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par d�faut
    ^ est l'op�rateur XOR (OU exclusif), du coup tu dois te retrouver avec des 0 au d�nominateur (pour i = 2 par exemple). La puissance c'est pow (dans <cmaths>), mais seulement pour les flottants. Pour les entiers tu devrais �crire une petite fonction.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    3
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 3
    Par d�faut
    Ah !!!
    J'�tais loin de me douter de cela !

    Merci beacoup

  4. #4
    Membre confirm� Avatar de b Oo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    179
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 179
    Par d�faut
    Salut,
    je pense que tu veux faire k�, non?
    si c'est le cas, alors je pense que cela vient de :
    Cela ne fait pas i� ; cela correspond � un OU exclusif qui compare les nombres bit � bit.
    Le code fonctionnel serait plut�t :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    #include <cstdlib>
    #include <iostream>
     
    using namespace std;
     
    int main()
    {
      float resultat=0.0; // c pour preciser que c'est un float
      int i;
     
      for (i=1;i<=15;i++)   //15 c'est un exemple, on peut faire tendre vers
      {                              //l'infini pour que ça soit plus juste.
         resultat+=1.0/(i*i); /*met 1.0 pour être sur que cela ne fasse pas la
                                         division entière */
      }
      cout << resultat << endl; // on va à la ligne après
      /* system("PAUSE");  je ne te conseille pas, je l'ai jamais utilisé
          si tu veux que le programme s'arrête fais un cin << i; */
      return 0;
    }

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    3
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 3
    Par d�faut
    Merci

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Plantage IIS ...
    Par rgarnier dans le forum XMLRAD
    R�ponses: 20
    Dernier message: 28/10/2003, 10h54
  2. Plantage de Delphi 7
    Par Andry dans le forum EDI
    R�ponses: 3
    Dernier message: 04/09/2003, 16h36
  3. R�ponses: 7
    Dernier message: 20/08/2003, 10h33
  4. plantage a la deconnexion du client
    Par travail dans le forum 4D
    R�ponses: 3
    Dernier message: 05/06/2003, 13h39
  5. [Kylix] Plantage IDE Kylix3/Mandrake 9.0
    Par OmicroN dans le forum EDI
    R�ponses: 3
    Dernier message: 28/01/2003, 23h04

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