====== 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]]