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 ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Patrick Mézard
Gib wrote:
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
Gib wrote:
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.
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
Michaël Delva
"Gib" wrote in news:c8t0lc$efq$:
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é)
"Gib" <bug@asrun.org> wrote in
news:c8t0lc$efq$1@news-reader2.wanadoo.fr:
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é)
lorsque qu'on cherche si un element X appartient à une list/vector, on utilise la fonction " find (v.begin(), v.end().X) "
[...]
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
Gib wrote:
Bonjour,
Bonjour,
lorsque qu'on cherche si un element X appartient à une
list/vector, on utilise la fonction
" find (v.begin(), v.end().X) "
[...]
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
lorsque qu'on cherche si un element X appartient à une list/vector, on utilise la fonction " find (v.begin(), v.end().X) "
[...]
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