CB100

Notas, resueltos y tps de la materia Algoritmos y Estructuras de Datos
Index Commits Files Refs README
guias/1/ej21.cpp (861B)
   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 int vector_is_sorted(std::vector<int> v) {
  13     size_t i, j, k;
  14 
  15     for(i = j = k = 0; i < v.size(); ++i) {
  16         if(v[i] > v[j]) j++;
  17         if(v[i] < v[k]) k++;
  18     }
  19 
  20     return (i == (j+1)) ? 1 : ((i == (k+1)) ? -1 : 0);
  21 }
  22 
  23 
  24 int main (void) {
  25     int n;
  26     std::vector<int> serie;
  27 
  28     std::cout << "[]\n";
  29 
  30     while(std::cin >> n) {
  31         std::cout << "\033[1A";
  32         serie.push_back(n);
  33         vector_print(serie);
  34     }
  35 
  36     n = vector_is_sorted(serie);
  37     std::cout << ((n > 0) ? "Ordenado ascendente\n" :
  38                  ((n < 0) ? "Ordenado descendente\n" : "No esta ordenado\n"));
  39 
  40     return 0;
  41 }