CB100

Notas, resueltos y tps de la materia Algoritmos y Estructuras de Datos
Index Commits Files Refs README
guias/1/ej19.cpp (1077B)
   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 }