Tôi là một sinh viên lập trình và đối với một dự án tôi đang làm việc, về những điều tôi phải làm là tính toán giá trị trung bình của một vectơ các giá trị int. Tôi chỉ làm điều này bằng cách sử dụng chức năng sắp xếp từ các hàm thành viên STL và vector chẳng hạn như .begin()
, .end()
và .size()
.Tính toán giá trị trung bình được lưu trữ trong Vector - C++?
Tôi cũng phải đảm bảo rằng tôi tìm thấy trung vị cho dù véc-tơ có số lượng giá trị lẻ hoặc số lượng giá trị chẵn.
Và tôi là Bị kẹt, bên dưới tôi đã bao gồm nỗ lực của mình. Vì vậy, tôi đang đi sai? Tôi sẽ đánh giá cao nếu bạn sẽ sẵn sàng để cho tôi một số gợi ý hoặc nguồn lực để có được đi đúng hướng.
Code:
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;
}
Cảm ơn !!
Tag với "bài tập về nhà" xin vui lòng. –
Tôi không chắc chắn việc sử dụng hằng số có tên cho "2" là thích hợp ở đây. –
@Max - Cảm ơn bạn đã bắt được, tôi đã gắn thẻ nó. – Alex