CB100

Notas, resueltos y tps de la materia Algoritmos y Estructuras de Datos
Index Commits Files Refs README
guias/1/ej16.cpp (1191B)
   1 #include <iostream>
   2 #include <vector>
   3 
   4 void vector_print(std::vector<int> v) {
   5     std::cout << "[";
   6     for(size_t i = 0; i < v.size(); ++i) {
   7         std::cout << v[i] << ((v.size() == i+1) ? "" : ", ");
   8     }
   9     std::cout << "]\n";
  10 }
  11 
  12 void vector_log(std::vector<int> v) {
  13     int min, max;
  14     size_t min_pos, max_pos;
  15 
  16     min = max = v[0];
  17     min_pos = max_pos = 0;
  18     for(size_t i = 0; i < v.size(); ++i) {
  19         if(v[i] < min) {
  20             min = v[i];
  21             min_pos = i;
  22         }
  23         if(v[i] > max) {
  24             max = v[i];
  25             max_pos = i;
  26         }
  27     }
  28 
  29     std::cout << "* min: `" << min << "` en posición: `" << min_pos << "`\n"
  30               << "* max: `" << max << "` en posición: `" << max_pos << "`\n";
  31 }
  32 
  33 int main (void) {
  34     int n;
  35     std::vector<int> serie;
  36 
  37     while(true) {
  38         std::cin >> n;
  39         std::cout << "\033[1A";  // Borra el caracter ingresado 
  40 
  41         if (std::cin.fail()) {
  42             std::cout << "Solo se permite ingresar números" << std::endl;
  43             return -1;
  44         }
  45 
  46         serie.push_back(n);
  47         vector_print(serie);
  48         vector_log(serie);
  49         std::cout << "\n";
  50     }
  51 
  52     return 0;
  53 }