我是一名编程学生,对于我正在研究的项目,我必须做的事情是计算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;
}
Run Code Online (Sandbox Code Playgroud)
谢谢!!