1 #include <iostream> 2 #include <vector> 3 #include <ctime> 4 #include <cstdlib> 5 #include <algorithm> 6 7 #define VECTOR_ELEMENT_LIMIT 20 8 9 // El vector debe tener un tamaƱo definido 10 void vector_random_populate(std::vector<int>& v) { 11 srand (time(NULL)); 12 for(size_t i = 0; i < v.size(); ++i) 13 v[i] = (int)(rand() % VECTOR_ELEMENT_LIMIT); 14 } 15 16 void vector_print(const std::vector<int> v) { 17 std::cout << "["; 18 for(size_t i = 0; i < v.size(); ++i) { 19 std::cout << v[i] << ((v.size() == i+1) ? "" : ", "); 20 } 21 std::cout << "]\n"; 22 } 23 24 // Se considera que el vector siempre tiene mas de 3 elementos 25 void vector_find_max(std::vector<int> v, std::vector<int>& max) { 26 std::sort(v.begin(), v.end()); 27 for(size_t i = 0; i<max.size(); ++i) 28 max[i] = v[v.size()-(1+i)]; 29 } 30 31 int main (void) { 32 std::vector<int> max(3); 33 std::vector<int> list(10); 34 35 vector_random_populate(list); 36 list[list.size() - 1] = 0; // Por enunciado deber terminar en 0 37 38 vector_print(list); 39 vector_find_max(list, max); 40 vector_print(max); 41 42 return 0; 43 }
