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 :

Je ne comprends pas, Affichage de nombre sorti de je ne sais où quand j'affich


Sujet :

C++

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Je ne comprends pas, Affichage de nombre sorti de je ne sais où quand j'affich
    Voici mes codes (Vecteur.h, Vecteur.cpp, main.cpp).

    Le problème est sur la fenêtre il m'affiche " [ 1 4565433] ". Pourquoi m'affiche t il ceci alors qu'il devrait m'afficher normalement " [ 1 1 ] " comme bien implémenter avec ce code "Coor[i] = A[i];" dans le constructeur de recopie avec A la composante que je mets en paramètre.

    Merci


    Vecteur.h
    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
    #ifndef VECTEUR_H_INCLUDED
    #define VECTEUR_H_INCLUDED
    #include <iostream>
     
    class Vecteur
    {
        private:
        int N;
        int * Coor;
     
        public:
        Vecteur(int n, int * A);
        Vecteur(const Vecteur & V);
        ~Vecteur();
        int getN() const {return N;};
        void Vecteur::Affiche() const;
    };
    #endif // VECTEUR_H_INCLUDED
    Vecteur.cpp
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    #include <iostream>
    #include "Vecteur.h"
    using namespace std;
     
    //Constructeur
    Vecteur::Vecteur(int n, int * A) : N(n)
    {
        Coor=new int[N];
     
        if (A==NULL)
        {
            for (int i=0;i<N;i++)
            Coor[i] = 0;
        }
        else
        {
            for (int i=0;i<N;i++)
            Coor[i] = A[i];
        }
    }
     
    Vecteur::Vecteur(const Vecteur &V)
    {
        N = V.getN();
        Coor=new int[N];
     
        for(int i=0; i<N; i++)
        Coor[i] = V.Coor[i];
    }
     
    Vecteur::~Vecteur()
    {
        delete[] Coor;
    }
     
    void Vecteur::Affiche() const
    {
        cout<<"[ ";
        for(int i=0;i<N;i++)
        cout<< Coor[i] <<" ";
        cout<<"]"<<endl;
    }
    main.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #include <iostream>
    #include "Vecteur.h"
    using namespace std;
     
    int main()
    {
        int f = 1;
        Vecteur V(2,&f);
        V.Affiche();
    }

  2. #2
    Membre éprouvé
    Avatar de méphistopheles
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 551
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 551
    Points : 1 220
    Points
    1 220
    Par défaut
    le problème est là :en effet, A[1]a une valeur complètement aléatoire.

    il faut écrire à la place

    Méphistophélès
    Si la solution ne résout pas votre problème, changez le problème...
    Cours et tutoriels C++ - FAQ C++ - Forum C++.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    merci

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Excusez moi du double post mais pourrez vous me dire à quoi sert le pointeur ici ?

  5. #5
    Membre chevronné
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Points : 2 107
    Points
    2 107
    Par défaut
    Citation Envoyé par méphistopheles Voir le message
    en effet, A[1]a une valeur complètement aléatoire.
    En effet. Mais je ne comprend pas la correction que tu proposes...

    @ kelyos:
    Lors de ta construction du Vecteur, il y a comme... une taille trop grande...

    Tu passes une taille de vecteur 2, alors que f n'a qu'un seul élement...
    Avec une taille 1, le code devrait beaucoup mieux tourner !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    int main()
    {
        int f = 1;
        Vecteur V(1,&f);
        V.Affiche();
     
        return 0;
    }

  6. #6
    Membre éprouvé
    Avatar de méphistopheles
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 551
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 551
    Points : 1 220
    Points
    1 220
    Par défaut
    oui, je m'étais trompé, mais pas moyen d'éditer mon post (problèmes de conexion).

    désolé
    Méphistophélès
    Si la solution ne résout pas votre problème, changez le problème...
    Cours et tutoriels C++ - FAQ C++ - Forum C++.

Discussions similaires

  1. PB d'affichage alors que pas d'erreur en sortie
    Par avalen dans le forum SAS Base
    Réponses: 29
    Dernier message: 27/04/2011, 10h19
  2. [MySQL] Comprend pas! requete qui ne modifie plus la base au bout d'un certain nombre d'essai
    Par maxfive7 dans le forum PHP & Base de données
    Réponses: 28
    Dernier message: 01/08/2007, 14h05
  3. sql ne comprend pas mon where!et me demande des parametres
    Par marie10 dans le forum Langage SQL
    Réponses: 10
    Dernier message: 20/04/2004, 11h08
  4. [Rave] un message que je ne comprends pas
    Par Clotilde dans le forum Rave
    Réponses: 2
    Dernier message: 30/09/2003, 21h46
  5. Réponses: 3
    Dernier message: 08/09/2003, 15h06

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