Решаем задачи Абрамян на Паскале. Minmax21

Minmax21. Дано целое число $$N (> 2)$$ и набор из $$N$$ чисел — значений некоторой величины, полученных в $$N$$ опытах. Найти среднее значение этой величины. При вычислении среднего значения не учитывать минимальное и максимальное из имеющихся в наборе значений.

Комментарий к заданию, какое среднее значение ?! по середине набора ? или среднее арифметическое или среднее геометрическое? В общем средних значений можно придумать много, которые могут изменить полностью алгоритм решения.

Я найду среднее арифметическое, я считаю что по смыслу задачи оно подходит больше.

Решение:

Решение от olegst1975 (данное решение подразумевает, что минимальное или максимальное значение может быть только по одному):

Другие задачи из раздела Minmax можно посмотреть здесь.

Комментарии:

Комментарии 9

  • Ваше решение ниасилил). Ниже приведу свое, но, что характерно, результаты у нас не совпадают. Без учета, что максимумы и минимумы могут повторяться. Отбрасываю лишь 2 числа из условия "…минимальное и максимальное из имеющихся..".

    [/crayon]

  • А можно привести пример, где не совпадают?
    На тех примерах, которые придумал я, с вашей коррекцией задания :). У нас ответы получаются одинаковые..

    У меня как раз программа написана, что бы учитывать повторяющиеся min и max. Поэтому она такая и большая, RezMaxNum и RezMinNum считают сколько максимумов и минимумов было, чтоб потом столько же вернуть если это оказался не экстремум…
    А не учитывать это … наверно всё таки не соответствует заданию…

  • Исходные данные
    N = 5
    6.53 2.15 2.30 9.20 6.56
    Полученные результаты
    7.69

    • ээ… при таких параметрах моя программа выдаёт так : 5,13
      И у вас вроде тоже %)
      Компилирую всё, на Delphi 7.

  • В строку 45 к виду i:=i-RezMinNum-RezMaxNum; — ?? Про повторяющиеся экстремумы..Скорее Вы правы, но «…минимальное и максимальное ..», а не -льные, плюс вещественные числа увели на путь упрощения

    • Точно строка 45:
      i:=i-RezMinNum-RezMaxNum-1;
      это i после счётчика! то есть у меня в Delphi там i+1 элементов, а в другом компиляторе может быть i элементов.
      В общем надо запомнить, что этим пользоваться нельзя.

      Было:

      Исправил на

    • чуть подумал.. решил, что всё таки это может быть тем, что подразумевал автор задачи:)

  • Да, почему ноль в строке 48 ?

    • надо читать вместе с 47 🙂

      Если кол-во элементов, кроме экстремумов 0, то выводится 0. Иначе бы было деление на 0, а это в паскале очень плохо. 🙂

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *