C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Recherche element dans un vector/list

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French)
View previous topic :: View next topic  
Author Message
Gib
Guest





PostPosted: Mon May 24, 2004 2:25 pm    Post subject: Recherche element dans un vector/list Reply with quote



Bonjour, lorsque qu'on cherche si un element X appartient à une list/vector,
on utilise la fonction
" find (v.begin(), v.end().X) "

Mais après on fait une comparaison entre X et v.end()
" if (it !=v.end())
cout<<" X est un element de v n");
else
cour<<"X n'est pas un element de v");


Question ==> Pourquoi fait on une comparaison entre X où plutot it (*it=X)
et le dernier élément de v ?

Merci de votre aide

Gib

Back to top
Patrick Mézard
Guest





PostPosted: Mon May 24, 2004 3:19 pm    Post subject: Re: Recherche element dans un vector/list Reply with quote



Gib wrote:
Quote:
Bonjour, lorsque qu'on cherche si un element X appartient à une list/vector,
on utilise la fonction
" find (v.begin(), v.end().X) "

Mais après on fait une comparaison entre X et v.end()
" if (it !=v.end())
cout<<" X est un element de v n");
else
cour<<"X n'est pas un element de v");


Question ==> Pourquoi fait on une comparaison entre X où plutot it (*it=X)
et le dernier élément de v ?

std::find prend un intervalle borné par deux itérateurs [i1, i2[ et
trouve l'itérateur pointant sur le premier élément égal à l'élément
cherché ou bien renvoie i2. C'est comme ça que marche la fonction.

Qu'est-ce qui te chiffonne là dedans ?

Patrick Mézard

Back to top
Michaël Delva
Guest





PostPosted: Mon May 24, 2004 4:51 pm    Post subject: Re: Recherche element dans un vector/list Reply with quote



"Gib" <bug (AT) asrun (DOT) org> wrote in
news:c8t0lc$efq$1 (AT) news-reader2 (DOT) wanadoo.fr:

Quote:
Question ==> Pourquoi fait on une comparaison entre X où plutot it
(*it=X) et le dernier élément de v ?

Merci de votre aide

Gib


Pour être sûr qu'il y a bien l'élément que tu cherches dans ton conteneur?
(.end() <=> pas trouvé)

Back to top
Gib
Guest





PostPosted: Mon May 24, 2004 5:22 pm    Post subject: Re: Recherche element dans un vector/list Reply with quote

ok merci j'ai pigé :)


Gib

Back to top
Anthony Fleury
Guest





PostPosted: Mon May 24, 2004 7:45 pm    Post subject: Re: Recherche element dans un vector/list Reply with quote

Gib wrote:

Quote:
Bonjour,

Bonjour,

Quote:
lorsque qu'on cherche si un element X appartient à une
list/vector, on utilise la fonction
" find (v.begin(), v.end().X) "

[...]

Quote:

Question ==> Pourquoi fait on une comparaison entre X où plutot it (*it=X)
et le dernier élément de v ?

Petit ajout à ce qu'ont dit les autres contributeurs, et surtout petite
correction. v.end() n'est pas le dernier élement de v. On ne peut pas le
déréferencer entre autre sous peine de problème avec le système
d'exploitation si il y en a un. On fait la comparaison avec la position
d'un élement fictif _suivant_ le dernier élement, donc si l'on est arrivé à
cet "élement" qui est en dehors du tableau, c'est que X n'est *pas* dans le
tableau. [entre autre avant de vérifier que it != v.end() on n'a à ma
connaissance "pas le droit" d'écrire *it]

Anthony - qui espère cette fois avoir employé exactement les bons termes, je
vais bien progresser à force de poster ici !
--
"You could be my unintended, choice to live my life extended
You should be the one I'll always love, I'll be there as soon as I can
But I'm busy mending broken pieces of the life I had before"
(C) Muse - Unintended

Back to top
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.