есть такой входной поток:
Как можно выделить из этого два наиболее встречающихся числа из трех, для каждого сенсора?
Т.е. в данном случае получить тройки [*, 53, 27], [*, 46, 37], [2, 17 *], [*, 95, 51].
Сейчас используется среднее арифметическое, но из-за случайных всплесков отклонение от "эталона" получается более 3 единиц, что не устраивает: получается [25, 53, 25], [32, 46, 33], [5, 17, 4], [54, 95, 52].
Грубо говоря, из 200 чисел в каждой колонке надо отбросить явно случайные всплески, которые сильно отличаются от остальных, затем найти для каждой колонки число с максимальной частотой появления (плюс-минус допустимая погрешность) и выбрать из каждой тройки два наиболее часто встречающихся числа.
Как называются такие алгоритмы? В частности, с языке C++.