Вычислить медиану значений, хранящихся в векторе - C ++?

Я студент-программист, и для проекта, над которым я работаю, одна из вещей, которые мне нужно сделать, - это вычислить медианное значение вектора значений int. Я должен сделать это, используя только функцию сортировки из STL и функции-члены вектора, такие как.begin(), .end(), а также.size().

Я также должен убедиться, что нашел медиану, имеет ли вектор нечетное число значений или четное число значений.

И яПрикрепленныйНиже я включил мою попытку. Так куда я иду не так? Буду признателен, если вы захотите дать мне несколько советов или ресурсов, чтобы двигаться в правильном направлении.

Код:

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;
}

Спасибо!!

Ответы на вопрос(6)

Ваш ответ на вопрос