Реализовать класс 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()
Сложение с другой гистограммой (перекрытие операторов)
Вычитание другой гистограммы (перекрытие операторов)
Сравнение гистограмм на равенство (перекрытие операторов)
В перекрытии операторов нужно выполнять логику только если основные параметры гистограмм совпадают. Иначе - кидать исключение.