Laboratorio 5
O objetivo deste exercício é colocar em prática conceitos de containers, iteradores e algoritmos da STL (StandardTemplateLibrary)nalinguagemdeprogramaçãoC++.
cmedia.h
1 # ifndef CMEDIA_H_
2 # define CMEDIA_H_
3 
4 #include <vector>
5 #include <algorithm>
6 
8 class MaiorQue
9 {
10  int valor;
11  public:
12  MaiorQue(int n):valor(n) {}
13  bool operator()(int n) const { return n > valor; }
14 };
15 
17 template<typename InputIterator>
18 InputIterator closest2mean(InputIterator first, InputIterator last)
19 {
20  int sum = std::accumulate(first, last, 0);
21  int div = std::distance(first,last);
22  int med = sum/div;
23 
24  auto it = find_if(first, last, MaiorQue(med));
25 
26  return it;
27 }
28 
29 
30 
31 
32 
33 
34 
35 
36 
37 
38 
39 
40 
41 
42 
43 
44 
45 
46 # endif
Functor MajorQue returns true if a given number is the greatest.
Definition: cmedia.h:8