Найти средний по величине элемент, т.е. такой, что в массиве ровно n элементов меньше его и столько же элементов больше - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Всем привет. Помогите, пожалуйста, алгоритм решения задачи, либо блок схему. Медиана. В массиве действительных чисел а1, а2, ..., а2n+1, не содержащем одинаковых элементов, найти средний по величине элемент, то есть такой, что в массиве ровно n элементов меньше его и столько же элементов больше его. При решении не допускается сортировать исходный массив и использовать дополнительные массивы. Просто даже не знаю с какой стороны к этой задаче подойти. Помогите с решением. Буду очень благодарен.

Решение задачи: «Найти средний по величине элемент, т.е. такой, что в массиве ровно n элементов меньше его и столько же элементов больше»

textual
Листинг программы
bool is_mediana(double med, double* arr, size_t siz)
{
    int less = 0;
    int greater = 0;
    while( siz-- ) {
         if( *arr > med ) {
             ++greater;
         } else if( *arr < med ) {
             ++less;
         }
         ++arr;
    }
    return greater == less;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.538 из 5
Похожие ответы