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 lors de l'utilisation vecteur dynamique


Sujet :

C++

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 610
    Points : 66
    Points
    66
    Par défaut problème lors de l'utilisation vecteur dynamique
    Bonjour,
    je veux enregistrer des informations dans des structure variables
    c'est pour ça j'ai fait ça
    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
     
    //////////////////////////////////////marqueurs////////////////////////////////////////////////////////////////////////
     
    struct  sphere
     
    {
    	int  num;
        float x,y,z;
     
    };
     
    struct fr
     
    {
      int num_fr;
      vector <sphere>  spher;
     
     
    }F;
    vector<fr> vector_F;
    ensuite
    j'ai fait ça
    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
     
    sphere spheres;
    for (int f = 1; f <= num_f; f++)
    {
     
    	for (int m = 1; marker <= num_m; m ++)
     
    	{
     
    		spheres.num=m;
    	     spheres.x=x;//dont je connus x
    	    spheres.z=z;
                 spheres.z=z;
     
    	} // Next m
     
    	F.num_fr=f;
    	vector_F.resize(vector_F.size()+1);
    	vector_F[vector_F.size()-1]=F;
     
    }
     
    }
    j'ai pas des erreurs de compilation mais lors de l’exécution je vois qu'il y a un problème dans ces lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    F.num_fr=f;
    	vector_F.resize(vector_F.size()+1);
    	vector_F[vector_F.size()-1]=F;
    il ne fait pas l’enregistrement comme il faut parce que quands j'ai voulu récupérer les informations j'ai pas pu
    j'ai ajouter ça
    ça taille est très grandes !!

  2. #2
    Membre expérimenté

    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 685
    Points : 1 418
    Points
    1 418
    Par défaut
    Bonjour,

    il sort d'où ton num_m que tu utilise pour la boucle ?

    Sinon dans tout ton code je ne vois jamais la moindre initialisation de valeur...le problème a de fortes chances de venir de ça.
    Nullius in verba

  3. #3
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 610
    Points : 66
    Points
    66
    Par défaut
    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
     
     
    sphere spheres;
    for (int f = 1; f <= num_f; f++)
    {
     
    	for (int m = 1; m<= num_m; m ++)
     
    	{
     
    		spheres.num=m;
    	     spheres.x=x;//dont je connus x
    	    spheres.z=z;
                 spheres.z=z;
     
    	} // Next m
     
    	F.num_fr=f;
    	vector_F.resize(vector_F.size()+1);
    	vector_F[vector_F.size()-1]=F;
     
    }
     
    }
    je sais la valeur de num_m

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 764
    Points : 2 705
    Points
    2 705
    Par défaut
    A al fin de la définition de la structure fr, je crois que tu peux enlever le F. Cela ne se fait guère, en C++...

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par dreamVIG Voir le message
    [/CODE]
    j'ai pas des erreurs de compilation mais lors de l’exécution je vois qu'il y a un problème dans ces lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    F.num_fr=f;
    	vector_F.resize(vector_F.size()+1);
    	vector_F[vector_F.size()-1]=F;
    Bonjour,

    quel est le problème ?
    Mis à part une utilisation des plus discutables de vector.
    D'où sort F ?
    Ca compile vraiment ?!
    std::vector::push_back
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 764
    Points : 2 705
    Points
    2 705
    Par défaut
    Pour F, voir la toute fin de la définition de la structure fr.

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par oodini Voir le message
    Pour F, voir la toute fin de la définition de la structure fr.
    Donc si F est une déclaration de structure (ce que je craignais), il est interdit d'accéder à F.un_champ_au_hasard

    Et tu devrais en avoir des erreurs de compilation du coup.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  8. #8
    Membre émérite
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 764
    Points : 2 705
    Points
    2 705
    Par défaut
    Comme c'est à la fin de la définition, c'est en fait une instance de la structure (enfin, d'après ce que je crois me souvenir du C).

  9. #9
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Je ne crois pas. Ou en tous cas je n'ai jamais vu cette syntaxe.
    En général on retrouve cette syntaxe en C :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    typedef struct _MyStruct {
    } MyStruct;
    qui permet d'utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MyStruct mystruct;
    struct _MyStruct mystruct2;
    sans avoir une nouvelle ligne spécifique pour le typedef.

    Tandis qu'en C++, struct MyStruct {}; suffit.

    edit: je viens de tester, en fait ça sert à définir la struct puis en instancer une directement, à l'instar d'un simple int a; struct {} m;
    Utile dans le cas d'une structure anonyme, j'y vois surtout un moyen de s'emmêler les pinceaux dans son cas. En C++, j'ignore si ça fonctionne en C.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  10. #10
    Membre émérite
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 764
    Points : 2 705
    Points
    2 705
    Par défaut
    Citation Envoyé par Bousk Voir le message
    edit: je viens de tester, en fait ça sert à définir la struct puis en instancer une directement, à l'instar d'un simple int a; struct {} m;
    C'est ce que je disais. :-)

Discussions similaires

  1. Réponses: 27
    Dernier message: 25/10/2006, 12h10
  2. problème lors de l'utilisation de mon application
    Par dododi dans le forum Bases de données
    Réponses: 2
    Dernier message: 01/10/2006, 19h35
  3. Réponses: 3
    Dernier message: 16/08/2006, 10h26
  4. Problème lors de l'utilisation de opennreport
    Par willytito dans le forum Access
    Réponses: 1
    Dernier message: 20/07/2006, 21h00
  5. Problème lors de l'utilisation de FOP
    Par llaurentt dans le forum XML/XSL et SOAP
    Réponses: 7
    Dernier message: 12/05/2006, 15h49

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