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

  FORUM HardWare.fr
  Programmation
  C++

  problème avec les std iterator

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

problème avec les std iterator

n°1667037
dcsara
Posté le 07-01-2008 à 12:10:34  profilanswer
 

Bonjour :)
voici mon problème,
j'utilise les iterator afin de parcourir un vecteur de structure, j'aimerais bien mettre à jour la valeur d'un élément bien précis de ce vecteur et j'arrive pas à le faire,
voici mon code
 

Code :
  1. #include <memory.h>
  2. #include <stdio.h>
  3. #include <time.h>
  4. #include <iostream>
  5. #include <fstream>
  6. #include <errno.h>
  7. #include <math.h>
  8. #include <iostream>
  9. #include <fstream>
  10. #include <sstream>
  11. #include <vector>
  12. using namespace std;
  13. typedef struct{
  14. int val1;
  15. int val2;
  16. } val;
  17. int main(){
  18. val item;
  19. std::vector<val> itemv;
  20. item.val1 = 1;
  21. item.val2 = 1;
  22. itemv.push_back(item);
  23. item.val1 = 2;
  24. item.val2 = 2;
  25. itemv.push_back(item);
  26. item.val1 = 3;
  27. item.val2 = 3;
  28. itemv.push_back(item);
  29. item.val1 = 4;
  30. item.val2 = 4;
  31. itemv.push_back(item);
  32. item.val1 = 5;
  33. item.val2 = 5;
  34. itemv.push_back(item);
  35. item.val1 = 6;
  36. item.val2 = 6;
  37. itemv.push_back(item);
  38. item.val1 = 7;
  39. item.val2 = 7;
  40. itemv.push_back(item);
  41. item.val1 = 8;
  42. item.val2 = 8;
  43. itemv.push_back(item);
  44. for(vector<val>::iterator it = itemv.begin(); it!= itemv.end(); ++it){
  45.  if((*it).val1 == 5)
  46.   // je voudrais ici mettre à jour la valeur de val2 à 25 mais j'ai pas réussit à le faire, j'ai fait (*it).val2 == 25, mais à l'afffichage rien ne change
  47. }
  48. for(vector<val>::iterator it = itemv.begin(); it!= itemv.end(); ++it){
  49.  cout << "value1 " << (*it).val1 << " value2 "<< (*it).val2 << endl;
  50. }
  51. }


 
Merci d'avance

mood
Publicité
Posté le 07-01-2008 à 12:10:34  profilanswer
 

n°1667073
capitainei​gloo
Posté le 07-01-2008 à 13:11:28  profilanswer
 

si tu mettais 1 seul "=" lors de ton affectation ?


Message édité par capitaineigloo le 07-01-2008 à 14:17:55
n°1667101
dcsara
Posté le 07-01-2008 à 13:57:15  profilanswer
 

Oh merci .... j'ai pas fais attention ;)

n°1667149
Taz
bisounours-codeur
Posté le 07-01-2008 à 14:53:52  profilanswer
 

1) it->val1 = it->val1 + 1;
2) vire tous ces include. vector, ostream, iostream suffisent.
3) vire ton typdef. struct val {...}; suffit..

n°1667361
neg'gwada
rafix 971
Posté le 07-01-2008 à 20:24:45  profilanswer
 

vire aussi le std:: devant le vector, tu inclus deja l'espace de nommage std dans l'espace gobal!


---------------
--- WinSplit Revolution ---
n°1668000
GrosBocdel
Posté le 08-01-2008 à 21:44:28  profilanswer
 

sinon tu enlèves les 59 premières lignes et tu ne le compiles pas.


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

  problème avec les std iterator

 

Sujets relatifs
Borland probleme instalation[C] probleme de fichiers
Probleme de type incompatibleDébutant, petit probléme
C#/SOAP/PHP5 Probleme webserviceProblème sur un script PHP de calendrier
[BASH] Probleme cron et autres [Résolu]Probleme de "logique de script"
probleme php 5.2.5Problème avec les Vectors ( return ((vector<_Key>::iterator)NULL;)
Plus de sujets relatifs à : problème avec les std iterator


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