commit fa3249372020304bd57170e940eafaf10d58cf91 parent 4c8e649c0306fef4fc347a690c1aa68ed2ae1e11 Author: mjkloeckner <martinjkloeckner@gmail.com> Date: Sat, 16 Mar 2024 19:25:52 -0300 Add solution for exercise 16 Diffstat:
| A | solutions/ej16.cpp | | | 53 | +++++++++++++++++++++++++++++++++++++++++++++++++++++ |
1 file changed, 53 insertions(+), 0 deletions(-) diff --git a/solutions/ej16.cpp b/solutions/ej16.cpp @@ -0,0 +1,53 @@ +#include <iostream> +#include <vector> + +void vector_print(std::vector<int> v) { + std::cout << "["; + for(size_t i = 0; i < v.size(); ++i) { + std::cout << v[i] << ((v.size() == i+1) ? "" : ", "); + } + std::cout << "]\n"; +} + +void vector_log(std::vector<int> v) { + int min, max; + size_t min_pos, max_pos; + + min = max = v[0]; + min_pos = max_pos = 0; + for(size_t i = 0; i < v.size(); ++i) { + if(v[i] < min) { + min = v[i]; + min_pos = i; + } + if(v[i] > max) { + max = v[i]; + max_pos = i; + } + } + + std::cout << "* min: `" << min << "` en posición: `" << min_pos << "`\n" + << "* max: `" << max << "` en posición: `" << max_pos << "`\n"; +} + +int main (void) { + int n; + std::vector<int> serie; + + while(true) { + std::cin >> n; + std::cout << "\033[1A"; // Borra el caracter ingresado + + if (std::cin.fail()) { + std::cout << "Solo se permite ingresar números" << std::endl; + return -1; + } + + serie.push_back(n); + vector_print(serie); + vector_log(serie); + std::cout << "\n"; + } + + return 0; +}
