Есть ли какая-либо математическая функция в библиотеке C для вычисления МЕДИАНЫ 'n' чисел?
Нет, такой функции нет в стандартной библиотеке C.
Однако вы можете реализовать ее (или наверняка найти код в Интернете). Эффективный алгоритм O (n) для поиска медианы называется «алгоритмом выбора» и связан с быстрой сортировкой. Прочтите об этом здесь .
Нет, в стандартной библиотеке C нет медианной функции.
для получения медианы можно отсортировать массив чисел и взять:
1) в случае, когда число элементов нечетное - число посередине
2) в случае, когда число элементов четное - среднее из двух чисел посередине
.Для вычисления медианы с помощью стандартной библиотеки C используйте стандартную библиотечную функцию qsort()
, а затем возьмите средний элемент. Если массив имеет a
и содержит n
элементов, то:
qsort(a, n, sizeof(a[0]), compare);
return a[n/2];
нужно записать свою собственную функцию compare
, которая будет зависеть от типа элемента массива. Подробности смотрите в man-странице для qsort
или найдите в индексе Кернигана и Ричи.