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

  FORUM HardWare.fr
  Programmation
  C++

  Problème pour modifier des éléments d'un vecteur

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème pour modifier des éléments d'un vecteur

n°367590
haazheel
Posté le 20-04-2003 à 20:27:50  profilanswer
 

Salut,
 
tout d'abord, le code:
 
Je définis deux tableaux:

Code :
  1. int StratsOff[] = { 0,1,2,3,4,5,7,8,11,12,13 };
  2. int StratsDef[] = { 6,9,10,11,12 };


 
J'enregistre leur nombre d'éléments:

Code :
  1. if (IndexNode == 0)
  2.       NbreStatsScan = ARRAYSIZE(StratsOff);
  3. else
  4.      NbreStatsScan = ARRAYSIZE(StratsDef);


 
Que j'utilise pour créer un vecteur de même taille:

Code :
  1. vector<int> QteStats(NbreStatsScan, NbreStatsScan + sizeof(NbreStatsScan) / sizeof(int));


 
Donc selon le choix de l'utilisateur, j'ai un vecteur nommé QteStats pouvant contenir 5 ou 11 éléments.
 
Jusqu'ici pas de problèmes...
 
Mais le problème est que je cherche dans un fichier XML des données grâce à plusieurs boucles for.
 
Alors (si je prends exemple pour un vecteur à 5 éléments) j'obtiens successivement plusieurs séries de 5 éléments.
 
Série 1: x,x,x,x,x
Série 2: y,y,y,y,y
Série 3: z,z,z,z,z
 
Si je fais tout le temps un push_back, je vais avoir un vecteur du type:
 
{x,x,x,x,x,y,y,y,y,y,z,z,z,z,z}
 
Or moi je voudrais
 
{x+y+z,x+y+z,x+y+z,x+y+z,x+y+z}
 
Donc je voudrais modifier série après série la valeur des 5 éléments du vecteur, en ajoutant la valeur actuelle plus la nouvelle valeur issue de mon XML...
 
Comment je fais ça?
 
J'ai cherché un peu partout, mais j'ai pas encore trouvé... Et ça doit pas être une réponse bien compliquée je pense...
 
Merci d'avance...

mood
Publicité
Posté le 20-04-2003 à 20:27:50  profilanswer
 

n°367591
Taz
bisounours-codeur
Posté le 20-04-2003 à 20:35:05  profilanswer
 

ben tu peux le faire à la main avec un indice, un iterateur, ou utiliser un algo de <algorithm> comme transform transform
 
mieux: utilise les std:valarray

n°367598
haazheel
Posté le 20-04-2003 à 21:06:06  profilanswer
 

++Taz a écrit :


mieux: utilise les std:valarray


 
Si j'ai bien compris l'aide de Borland à ce sujet:
 
on déclare comme ça:
 

Code :
  1. valarray<int> v2(1,3);

un valarray (ça donne koi en farnçais?) de 3 éléments de valeur 1
 
Et pour changer un élément:
 

Code :
  1. v1[2] = 5;

On donne au deuxième élément de v1 la valeur 5...
 
C'est bien ça?
 
Sinon question: on peut faire avec des valarray ce qu'on peut faire avec des vector? Sinon quelles sont les différences entre eux deux?

n°367675
Taz
bisounours-codeur
Posté le 21-04-2003 à 12:42:01  profilanswer
 

ben lis la doc
 
c'est fait pour faire du snumérique
 
v1+v2 donne un vecteur, somme element par élement
v1/k divise chaque élements par k
 
etc


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

  Problème pour modifier des éléments d'un vecteur

 

Sujets relatifs
Probleme de taille et de policeProblème formulaire php
[ CSS ] Probleme de DIV et possitionnement[C/C++] probleme d'inlining
Probleme lors d'un select en VBAModifier le nom d'un champ d'une table
[PHP] petit probleme avec boucleProbleme avec JPGraph et generation d'image
[PHP] probleme[MySql] $l=mysql_fetch_object($res); echo $l->table.champ ; ! problème
Plus de sujets relatifs à : Problème pour modifier des éléments d'un vecteur


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