begin process at 2012 02 12 08:15:48
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

suppression d'un element dans un vecteur


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

suppression d'un element dans un vecteur

vendredi 31 mars 2006 à 15:39:25 | suppression d'un element dans un vecteur

CeNedra83

je dispose d'un vecteur de 24 doubles.
je voudrais supprimer le premier element, puis les afficher.

l'affichage se fait bien, mais juste après le programme plante "out of range"
je ne vois pas ce qui cloche!!!!

si j'enlève la commande supprimant le premier element, tout vas bien.

y_values.erase(y_values.begin());

for(int i =0; i<y_values.size(); i++)
{

TRACE(" %g\t", y_values[i]);
}

merci de m'aider c"est urgent!!
vendredi 31 mars 2006 à 15:49:06 | Re : suppression d'un element dans un vecteur

buno

Administrateur CodeS-SourceS
Généralement, on utilise les iterateurs pour parcourir un vecteur:

using namespace std;   
vector <int> v1;
vector <int>::iterator Iter;

v1.push_back( 10 );
v1.push_back( 20 );
v1.push_back( 30 );
v1.push_back( 40 );
v1.push_back( 50 );

v1.erase( v1.begin( ) );
cout << "v1 =";
for ( Iter = v1.begin( ) ; Iter != v1.end( ) ; Iter++ )
cout << " " << *Iter;
cout << endl;


Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
vendredi 31 mars 2006 à 15:57:52 | Re : suppression d'un element dans un vecteur

Zootella

J'imagine que l'indice 0 n'existe plus puisque tu l'as retiré.

esseye ceci :

for(int i = y_values.begin();  i < y_values.size();  i++)
{
   ...
}
vendredi 31 mars 2006 à 16:02:09 | Re : suppression d'un element dans un vecteur

buno

Administrateur CodeS-SourceS
Attention!
y_values.begin() retourne un itérateur sur le 1er élément, et non son index

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
vendredi 31 mars 2006 à 16:05:24 | Re : suppression d'un element dans un vecteur

CeNedra83

ça ne marche pas.
je vais voir avec autre chose, les listes peut être, car quand j'aurai des elements à supprimer au milier, ça risque d'etre le bordel.
merci
vendredi 31 mars 2006 à 16:24:58 | Re : suppression d'un element dans un vecteur

buno

Administrateur CodeS-SourceS
Mon exemple ne fonctionne pas!? De quel type est ton vecteur? Peux-tu poster un bout de code?

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
vendredi 31 mars 2006 à 16:30:10 | Re : suppression d'un element dans un vecteur

CeNedra83

vector <double>::iterator Iter;
y_values.erase(y_values.begin());

for(Iter = y_values.begin( ) ; Iter != y_values.end( ) ; Iter++ )
{
TRACE( "\nvaleurs y2 %f\t," , y_values(Iter) );
}
vendredi 31 mars 2006 à 16:34:08 | Re : suppression d'un element dans un vecteur

buno

Administrateur CodeS-SourceS
*Iter te donne directement l'élément du vecteur

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
vendredi 31 mars 2006 à 16:53:57 | Re : suppression d'un element dans un vecteur

CeNedra83

c'est déjà essayé.
je suis partie avec les listes, il parait que c plus simple.
je cherche à obtenir le iè element de la liste, puis l'effacer.
vendredi 31 mars 2006 à 17:03:38 | Re : suppression d'un element dans un vecteur

luhtor

Bas oui, et surtout c'est fait pour ca, si tu as bcp d'éléments a supprimer.
int suppr = 10;
int count = 0;
for (std::list<ton_type>::iterator it = _list.begin(); it != _list.end(); it++, count++)
{
    if (count == suppr)
    {
       it = _list.erase(it); // _it devient l'élement suivant
    }
}

Donc ca, ca ne marche que si tu dois supprimer une seule valeur. Enfin faut se méfier avec l'itérateur renvoyé par erase. Comme c'est l'élément suivant, le it++ du for va encore se déplacer dans l'élement suivant. Donc on saute certaine valeur de la liste quand on supprime un élement.


Cette discussion est classée dans : suppression, element, premier, vecteur, values


Répondre à ce message

Sujets en rapport avec ce message

effacement d'element d'un vecteur [ par tomalille ] Bonjour, j'ai un probleme avec l'une de mes methodes. Celle-ci efface l'element d'un vecteur. Malheureusement elle ne fonctionne jamais pour le dernie suppression d'un element dans un arbre binaire [ par simo_359 ] je veux remercie tous personnes qui va m'aider a avoir le code qui permet de supprimer un element dans une arbre binaire en language c premier element d'une treeview [ par gdpasmini ] Bjr a tous !!je recherche désespérement uneinformation. Je dispose ds une IHM en C codé avec l'API windows dans laquelle se trouve une treeview. j'aim tableau [ par infodaoudi ] bonjour, je veux récupérer le tableau *data à l'exterieure de la fonction readvecteur, comment faire sans utiliser return. Quelqu'un à une idée? merci suppression de fichier impossible [ par gdpasmini ] Hello !J'ai un petit probleme, je souhaite effacer un fichier avec mon IHM codé en C sans MFC. Le probleme est que la fonction deleteFile me renvoi Fa iterateur sur vecteur a deux dimension [ par Amanobuo ] Salut Dans la librairie standard (encore ! :) )J arrive (a peu pres) a me debrouiller avec un iterateur sur un vecteur a une dimension, mais comment f premier prog C++ graphique et Dev C++ 4.0 [ par zoophage ] Salut !je suis plus ou moins débutant en C++ et c'est pour ça que j'utilise dev c++ qui a le mérite d'être gratuit et facile à utiliser.Seulement, voi Mettre une fenette en premier plan et l'activer [ par atao ] QQun connait il une façon plus élégnate pour mettre une fenette en premier plan et l'activervoid MettreFenetreDevant(HWND hwndDlg){// car si elle est Quelle API pour mettre en premier plan une autre fenetre ? [ par Kheo ] Afin d'eviter d'avoir plusieurs instance de mon soft en memoire au tout debut j'effectue un FindWindow sur le titre de mon soft. S'il ne trouve rien j suppresion d'un element dans un fichiers sequentiel turbo c plus plus [ par altay ] L'analyste programmeur a 3 dimensionsi quelqu'un pouvais me passer le code d'une fonction ou d'une procedure permettant de supprimer l'element d'un fi


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,076 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales