This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
in202:seance_4a:td_4a:part_ii [2021/04/11 13:34] bmonsuez created |
in202:seance_4a:td_4a:part_ii [2022/11/18 10:46] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== TD4a - Partie 2 - Les fonctions anonymes ====== | ====== TD4a - Partie 2 - Les fonctions anonymes ====== | ||
+ | |||
+ | Nous nous intéressons à la fonction de recherche que nous avons réalisé dans le TD de la semaine dernière : | ||
+ | |||
+ | <code cpp> | ||
+ | template<class inputIterator, class T> | ||
+ | inputIterator _find(inputIterator first, inputIterator last, T theValue) | ||
+ | { | ||
+ | while(first != last) | ||
+ | { | ||
+ | if (*first == theValue) | ||
+ | return first; | ||
+ | first++; | ||
+ | } | ||
+ | return last; | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | Nous souhaitons ne plus rechercher un élément ''T the Value'' mais rechercher le premier élément qui vérifie une condition. Cette condition s'exprime comme un prédicat, prenant un argument de ''T'' et retournant une valeur ''true'' si la la condition est vérifiée, ''false'' si la valeur n'est pas vérifiée. | ||
+ | |||
+ | ===== Question n° 1 ===== | ||
+ | |||
+ | Modifier la fonction précédent pour prendre comme dernier argument correspondant à un prédicat unaire (ie. une condition). | ||
+ | |||
+ | |||
+ | ===== Question n° 2 ===== | ||
+ | |||
+ | Nous considérons le tableau suivant : | ||
+ | |||
+ | <code cpp> | ||
+ | std::vector<int> vec = {1, 4, 3, 8, 2, 7, 5, 9, 6 }; | ||
+ | </code> | ||
+ | |||
+ | Tester votre nouvelle fonction en définissant une condition qui vous permette le premier élément qui est supérieur à la value moyenne des éléments dans le tableau. | ||
==== Liens vers les éléments syntaxiques C++ ==== | ==== Liens vers les éléments syntaxiques C++ ==== |