[an error occurred while processing this directive]
|
Тогда только буфер для хранения N предыдущих отсчетов, одна переменная суммы, и одна переменная, хранящее текущее положение самого старого отсчета в буфере. Первоначально во всех переменных нули. При получении очередного отсчета вычитаем из суммы самый старый (беря его из буфера по индексу) и прибавляем новый. После чего прописываем в буфер на место старого отсчета новый и сдвигаем указатель. Осталось поделить сумму на число отсчетов - и скользящее среднее готово :)
Да, нужно быть осторожным с переполениями суммы.
E-mail: info@telesys.ru