Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1227 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Tableau dynamique à deux entrées avec vector

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Tableau dynamique à deux entrées avec vector

n°334025
haazheel
Posté le 15-03-2003 à 12:53:54  profilanswer
 

Voilà mon nouveau problème avec vector:
 
j'arrive à créer un tableau contenant une seule ligne...
 
mais pour en créer un avec deux entrées, du style:
 
Nom    |   Prénom
Nom1   |   Prénom1
Nom2   |   Prénom2
 
Je fais ça comment?
 
Merci!!

mood
Publicité
Posté le 15-03-2003 à 12:53:54  profilanswer
 

n°334026
Alload
Posté le 15-03-2003 à 12:56:40  profilanswer
 

Code :
  1. class NomComplet
  2. {
  3. public:
  4. string nom;
  5. string prenom;
  6. };
  7. vector<NomComplet> lesnoms;


Message édité par Alload le 15-03-2003 à 12:57:10
n°334027
kadreg
profil: Utilisateur
Posté le 15-03-2003 à 12:57:02  profilanswer
 

Tu crée une classe personne, avec les attributs nom et prénoms.
 
Et tu fait un vector de Personnes.
 
edit: grillaid  [:sisicaivrai]


Message édité par kadreg le 15-03-2003 à 12:57:20

---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°334069
haazheel
Posté le 15-03-2003 à 15:14:48  profilanswer
 

bon, ok merci à tous les deux, ça marche, mais seulement si j'enlève la ligne public:, sinon à la compilation il me met Nom de type attendu...
 
Mais maintenant, je voudrais ajouter une ligne Nom,Prenom à mon vecteur...
 
A cause des deux valeurs, j'arrive pas à le faire avec push_back(), que j'arrive à faire fonctionner quand le vecteur ne peut contenir qu'une seule valeur à la fois...
 
De la même manière, je demande tout de suite avant de bloquer, je ferai comment pour récupérer la valeur avec operator[]??
 
Merci d'avance!!

n°334072
verdoux
And I'm still waiting
Posté le 15-03-2003 à 15:35:48  profilanswer
 

Achète un (bon) bouquin sur le C++


Message édité par verdoux le 15-03-2003 à 15:36:01
n°334075
haazheel
Posté le 15-03-2003 à 15:38:20  profilanswer
 

vu toutes les réponses que je trouve sur le net (ici et ailleurs), nul besoin pour moi d'acheter un bouquin...
 
d'autant plus que partant de pas grand chose en prog, j'ai déjà réussi à faire pas mal de trucs, donc je pense continuer comme ça...
 
je sais, c'est con, mais bon, j'aime bien galérer pour un truc, et puis bien retenir la solution pour la suite... ;)  
 
tiens, au fait, tu aurais pas la réponse, par hasard? :D

n°334082
kadreg
profil: Utilisateur
Posté le 15-03-2003 à 15:57:00  profilanswer
 

haazheel a écrit :


Mais maintenant, je voudrais ajouter une ligne Nom,Prenom à mon vecteur...
 
A cause des deux valeurs, j'arrive pas à le faire avec push_back(), que j'arrive à faire fonctionner quand le vecteur ne peut contenir qu'une seule valeur à la fois...


 
Parrcequ'il faut que tu push_back une personne, et pas un nom et un prénom. Il va donc falloir que tu instancie une Personne.
 
PS: je suis d'accord avec Verdoux, achète un livre. Il y a le savoir-faire et le savoir-bin faire. En y allant trop par erreur sur les bases, tu risques de prendre de vilaines habitudes, notamment au niveau de la gestion de la mémoire, chose capitale en C++ et source d'erreurs continues.


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°334086
verdoux
And I'm still waiting
Posté le 15-03-2003 à 16:03:26  profilanswer
 

Surtout que le c++ est l'un des langages les plus tordus et piégeux qui sooient.

n°334089
haazheel
Posté le 15-03-2003 à 16:12:04  profilanswer
 

Bon, ben en attendant que je me trouve un bouquin, voilà où j'en suis:
 
en parcourant les newsgroup sur google, j'ai vu deux solutions à ce problème:
 

  • créer des vecteurs de vecteurs
  • créer une classe comme vous me le suggérez ici


Il est conseillé plusieurs fois la deuxième méthode...
 
Bon, là je cale, je comprends le principe, mais j'arrive pas à l'appliquer...
 
Je résume donc ce que je veux:
un tableau avec deux colonnes fixées (Nom et Prénom) et un nombre de lignes variables.
 
Vous pourriez me montrer comment écrire la classe correspondant à ce tableau ainsi que les fonctions permettant d'ajouter des lignes à ce tableau et de lire ces lignes?
 
Merci d'avance

n°334099
Taz
bisounours-codeur
Posté le 15-03-2003 à 16:49:40  profilanswer
 

using namespace std;

mood
Publicité
Posté le 15-03-2003 à 16:49:40  profilanswer
 

n°334609
Alload
Posté le 16-03-2003 à 19:24:12  profilanswer
 

Code :
  1. class Personne
  2. {
  3. public:
  4. string nom;
  5. string prenom;
  6. };
  7. vector<Personne> groupe;
  8. Personne nouveau;
  9. nouveau.nom = "Dupont";
  10. nouveau.prenom = "Paul";
  11. groupe.push_back(nouveau);


 
edit: merde, j'oublie toujours la balise de fin de code C/C++!


Message édité par Alload le 16-03-2003 à 19:24:36
n°334663
haazheel
Posté le 16-03-2003 à 21:13:41  profilanswer
 

merci beaucoup!!

n°338152
Musaran
Cerveaulté
Posté le 20-03-2003 à 07:16:14  profilanswer
 

haazheel a écrit :

ça marche, mais seulement si j'enlève la ligne public:, sinon à la compilation il me met Nom de type attendu...

C'est pas normal du tout ça...
 
Autre façon:

Code :
  1. struct Personne
  2. {
  3. string nom, prenom;
  4. Personne(string lenom, string leprenom):nom(lenom), prenom(leprenom){}
  5. };
  6. int main(){
  7. vector<Personne> groupe;
  8. groupe.push_back( Personne("Dupont", "Paul" ) );
  9. }


---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone
n°377775
haazheel
Posté le 30-04-2003 à 11:19:06  profilanswer
 

Je refais monter ce topic pour vous poser une question:
 
quelle méthode utiliser entre une classe et une structure?
 
quels sont les avantages et les inconvénients de chacune?
 
Merci!!

n°378599
kenshiro18​2
Posté le 30-04-2003 à 16:18:26  profilanswer
 

haazheel a écrit :

vu toutes les réponses que je trouve sur le net (ici et ailleurs), nul besoin pour moi d'acheter un bouquin...


T'as pas l'impression que tu abuses un peu ? "J'ai pas envie de m'acheter un bouquin. Bon qui veut bien m'expliquer les templates aujourd'hui ?".
Tu ne peux pas bien progresser sans bouquin ou sans cours.

n°378607
Taz
bisounours-codeur
Posté le 30-04-2003 à 16:21:26  profilanswer
 

haazheel a écrit :

Je refais monter ce topic pour vous poser une question:
 
quelle méthode utiliser entre une classe et une structure?
 
quels sont les avantages et les inconvénients de chacune?
 
Merci!!

y a pas de différences si ce n'est les droits par défaut

n°379101
haazheel
Posté le 30-04-2003 à 23:10:49  profilanswer
 

merci!!

n°379172
Konar
Posté le 01-05-2003 à 00:33:16  profilanswer
 

++Taz a écrit :

y a pas de différences si ce n'est les droits par défaut


 
j'aurais dit pareil (les 2 sont 'juste' des bouts de mémoire), mais avec les struct j'ai du mal a imaginer le concept 'héritage'.
 
et y a aussi des ratances au nivo des templates a ce que j'ai vu des fois.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Tableau dynamique à deux entrées avec vector

 

Sujets relatifs
Probleme avec vectortableau à 2 dimension dynamique de CString
Passage erroné d'un tableau de chaînes de caractères à une procédure..[PHP] Trier un tableau associatif sur le champ de son choix ?
[HTML] un tableau w3c compliant c comment ??[C++] valarray/vector
envoyer un tableau dans une URLProbleme pour creer une librairie dynamique (.so) avec gcc
Changer valeur d'une clé d'un tableau associatif 
Plus de sujets relatifs à : Tableau dynamique à deux entrées avec vector


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR