Calcular la mediana de valores almacenados en vectores: ¿C ++?

Soy un estudiante de programación, y para un proyecto en el que estoy trabajando, una de las cosas que tengo que hacer es calcular el valor mediano de un vector de valores int. Debo hacer esto usando solo la función de clasificación de las funciones STL y miembro miembro, como.begin(), .end()y.size().

También se supone que debo asegurarme de encontrar la mediana si el vector tiene un número impar de valores o un número par de valores.

Y yo soyAtascadoA continuación he incluido mi intento. Entonces, ¿dónde voy mal? Apreciaría si estuviera dispuesto a darme algunos consejos o recursos para avanzar en la dirección correcta.

Código:

int CalcMHWScore(const vector<int>& hWScores)
{
     const int DIVISOR = 2;
     double median;
     sort(hWScores.begin(), hWScores.end());
     if ((hWScores.size() % DIVISOR) == 0)
     {
         median = ((hWScores.begin() + hWScores.size()) + (hWScores.begin() + (hWScores.size() + 1))) / DIVISOR);
     }
     else 
     {
       median = ((hWScores.begin() + hWScores.size()) / DIVISOR)
     }

    return median;
}

¡¡Gracias!!

Respuestas a la pregunta(6)

Su respuesta a la pregunta