CB100

Notas, resueltos y tps de la materia Algoritmos y Estructuras de Datos
Index Commits Files Refs README
guias/1/ej20.cpp (1491B)
   1 #include <iostream>
   2 #include <string>
   3 #include <vector>
   4 
   5 struct Salario {
   6     std::string nombre;
   7     unsigned int monto;
   8 };
   9 
  10 std::vector<struct Salario> data = {
  11     {"Juan",   850000},
  12     {"Elena",  200000},
  13     {"Ana",    525000},
  14     {"Carlos", 700000},
  15     {"Luis",   300000},
  16     {"Laura",  800000},
  17     {"Andrea", 250000},
  18     {"Diego",  500000},
  19     {"MarĂ­a",  900000},
  20     {"Pedro",  600000}
  21 };
  22 
  23 unsigned int find_min_index() {
  24     unsigned int min, min_index;
  25 
  26     min_index = 0;
  27     min = data[min_index].monto;
  28     for(size_t i = 0; i < data.size(); ++i) {
  29         if(data[i].monto < min) {
  30             min = data[i].monto;
  31             min_index = i;
  32         }
  33     }
  34 
  35     return min_index;
  36 }
  37 
  38 unsigned int find_max_index() {
  39     unsigned int max, max_index;
  40 
  41     max_index = 0;
  42     max = data[max_index].monto;
  43     for(size_t i = 0; i < data.size(); ++i) {
  44         if(data[i].monto > max) {
  45             max = data[i].monto;
  46             max_index = i;
  47         }
  48     }
  49 
  50     return max_index;
  51 }
  52 
  53 int main (void) {
  54     for(size_t i = 0; i < data.size(); ++i)
  55         std::cout << data[i].nombre << "\t $" << data[i].monto << std::endl;
  56 
  57     unsigned int min_index = find_min_index();
  58     unsigned int max_index = find_max_index();
  59 
  60     std::cout << "* Salario minimo:\t" << data[min_index].nombre
  61         << "\t$" << data[min_index].monto << "\n";
  62     std::cout << "* Salario maximo:\t" << data[max_index].nombre
  63         << "\t$" << data[max_index].monto << "\n";
  64 
  65     return 0;
  66 }