【问题标题】:What is the median value is decimal? [closed]小数的中位数是多少? [关闭]
【发布时间】:2019-08-08 11:47:15
【问题描述】:

我正在编写一个程序来查找 CPP 中数组的中位数。我不确定我是否清楚地知道什么是中位数。据我所知,我已经编写了程序来查找中位数,但是当数组为偶数时,我很困惑是否应该打印除中间两个时得到的十进制输出除法的上限或底值数组中的元素。


using namespace std;

void findMedian(int sortedArray[], int N);
int main()
{
    int ip[4] = {1, 2, 5, 8};
    findMedian(ip, 4);
}

void findMedian(int sortedArray[], int N)
{

    int size = N;
    int median;
    if ((size % 2) != 0)
    {
        median = sortedArray[(size / 2)];
    }
    else
    {
        median = (sortedArray[(size / 2) - 1] + sortedArray[size / 2]) / 2;
    }
    cout << median;
}

在此先感谢,如果有人能给出寻找中位数的字面目的,我将不胜感激,它会帮助我在必须处理中位数时不再问这个问题。 请原谅我的英语。

【问题讨论】:

标签: c++ math median


【解决方案1】:

在奇数数组中,中位数是唯一的,但在偶数数组中,有两个中位数:下中位数(第 (n/2) 位的那个)和上中位数(第 (n/2+1) 位的那个) ) 位置)。我通常总是看到较低的中位数被用作偶数数组的“中位数”。

在这种情况下,奇数数组和偶数数组只需要一个公式:

medianPosition = n/2; // integer division
median = sortedArray[medianPosition];

请注意,这仅适用于索引从零开始的数组(如 C/C++)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-14
    • 2010-10-05
    • 1970-01-01
    • 2010-10-10
    • 1970-01-01
    • 1970-01-01
    • 2020-09-09
    • 2017-06-08
    相关资源
    最近更新 更多