我是一名编程学生,对于我正在进行的一个项目,我必须做的事情之一是计算 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; }