====== TD3 - Part 3 - Les itérateurs ======
[[..:td_3|Sujet complet]]
===== Question n°1 =====
Nous considérons la fonction ''find'' définie dans la première partie du TD :
template
T find(const T* theArray, int theArrayLength, T theValue)
{
for(int index = 0; index < theArrayLength; index ++)
{
if(theArray[index] == theValue)
return index;
}
return -1;
}
Pouvez-vous la réécrire pour qu'elle fonctionne désormais avec des itérateurs, cette fonction devra avoir l'en-tête suivante :
template
inputIterator find(inputIterator first, inputIterator last, T theValue)
===== Question n° 2 =====
Nous souhaitons utiliser la fonction précédente pour tester si l'élément 5 est dans le vecteur suivant :
#include
std::vector vec = {3, 4, 8, 2, 4, 1 };
Ecrivez le code qui fait l'opération et déterminer si l'élément est présent ou n'est pas présent dans le vecteur.
==== Code présenté pendant le cours ====
{{https://perso.ensta-paris.fr/~bmonsuez/Media/code/in202/2021/td3/part3/part3.cpp|''part3.cpp''}} Fichier principal contient les fonctions de test et le main.
{{https://perso.ensta-paris.fr/~bmonsuez/Media/code/in202/2021/td3/part3/find.h|''find.h''}} Définition de la fonction de recherche fonctionnant avec des itérateurs.
===== Liens vers les éléments syntaxiques et ressources externes =====
[[https://en.cppreference.com/w/cpp/container/vector|La classe ''std::vector<>'']]
[[cpp:stl:iterator|Les itérateurs en C++]]
===== Navigation =====
[[.:part_ii|Deuxième partie]]
[[.:part_iv|Quatrième partie]]