Средняя функция в математической библиотеке C?

Есть ли какая-либо математическая функция в библиотеке C для вычисления МЕДИАНЫ 'n' чисел?

7
задан Jitesh Dani 25 December 2009 в 13:31
поделиться

5 ответов

Нет, такой функции нет в стандартной библиотеке C.

Однако вы можете реализовать ее (или наверняка найти код в Интернете). Эффективный алгоритм O (n) для поиска медианы называется «алгоритмом выбора» и связан с быстрой сортировкой. Прочтите об этом здесь .

3
ответ дан 6 December 2019 в 09:20
поделиться
6
ответ дан 6 December 2019 в 09:20
поделиться

Нет, в стандартной библиотеке C нет медианной функции.

1
ответ дан 6 December 2019 в 09:20
поделиться

для получения медианы можно отсортировать массив чисел и взять:

1) в случае, когда число элементов нечетное - число посередине

2) в случае, когда число элементов четное - среднее из двух чисел посередине

.
0
ответ дан 6 December 2019 в 09:20
поделиться

Для вычисления медианы с помощью стандартной библиотеки C используйте стандартную библиотечную функцию qsort(), а затем возьмите средний элемент. Если массив имеет a и содержит n элементов, то:

qsort(a, n, sizeof(a[0]), compare);
return a[n/2];

нужно записать свою собственную функцию compare, которая будет зависеть от типа элемента массива. Подробности смотрите в man-странице для qsort или найдите в индексе Кернигана и Ричи.

.
2
ответ дан 6 December 2019 в 09:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: