Dev - C++ - vectores

   
Vista:
Imágen de perfil de julia

vectores

Publicado por julia (4 intervenciones) el 25/03/2016 20:35:34
Dimensionar y cargar un vector numérico entero de 10 elementos.Determinar e imprimir la solución Minimax de números pares, vale decir la diferencia entre el mayor número par menos el menor número par.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

vectores

Publicado por Martín (65 intervenciones) el 26/03/2016 04:13:11
En C++ puede hacerse así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <vector>
#include <algorithm>
 
int main()
{
    std::vector<int> v{1, 2, 11, 40, 5, 6, 6, 8, 9, 10};
    std::vector<int> pares(v.size());
    auto it = std::copy_if(v.begin(), v.end(), pares.begin(), [](int i){return !(i%2);} );
    pares.resize(std::distance(pares.begin(), it));
    auto extremos = std::minmax_element(pares.begin(), pares.end());
    std::cout << "Minimax = " << *extremos.second - *extremos.first << std::endl;
    return 0;
}

Salida:
1
Minimax = 38
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

vectores

Publicado por Martín (65 intervenciones) el 26/03/2016 20:00:37
Eh! mira! hay un error: y es que me olvidé de considerar que el 0 es un entero posible, pero como no es par ni impar habría que excluirlo en la condición de std::copy_if().

Bueno, que sirva como ejemplo de que no importa qué simple parezca, siempre es necesario detenerse a pensar, probar y revisar lo que se creía bien hecho...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar