Задание № 3344

Студент

Беренгольц Константин

Задача

Scientific гистограмма

Состояние

Завершено

Баллов

4

Дедлайн
10 мая 2021
Назначено

24.05.2021, 11:38

Завершено

31.05.2021, 02:11

Реализовать класс scientific гистограммы

Входные данные

Файл с последовательностью чисел. Пример фрагмента файла:

... 1 2 3 1 2 3 56 5 6 7 5 6 7 ...

Постановка задачи

Гистограмма имеет три основных характеристики - минимальное значение, максимальное значение и количество бинов. Пример: гистограмма с min = 1, max = 10, bin_count = 9. Если в такую гистограмму добавить число 1, то оно попадет в 0 бин, 2 - в 1, 3 - в 2 и т.д. Значения < 1, попадают в 0 бин. Значения > 10 - в 8. Эти параметры должны передаваться в гисторамму при создании (в конструкторе).

Нужно реализовать класс "Гистограмма" с поддержкой следующей функциональности:

  • Хранение словаря пар "номер бина" - "количество вхождений"

  • Создание гистограммы по набору данных

  • Возможность итерирования по гистограмме. Методы begin() и end()

  • Сложение с другой гистограммой (перекрытие операторов)

  • Вычитание другой гистограммы (перекрытие операторов)

  • Сравнение гистограмм на равенство (перекрытие операторов)

В перекрытии операторов нужно выполнять логику только если основные параметры гистограмм совпадают. Иначе - кидать исключение.

Действия