Hirdetés
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- Milyen billentyűzetet vegyek?
- Milyen TV-t vegyek?
- ThinkPad (NEM IdeaPad)
- Philips LCD és LED TV-k
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- VR topik (Oculus Rift, stb.)
- AMD GPU-k jövője - amit tudni vélünk
- Hamarosan megjön az ASUS házak új zászlóshajója
Hirdetés
Talpon vagyunk, köszönjük a sok biztatást! Ha segíteni szeretnél, boldogan ajánljuk Előfizetéseinket!
-
PROHARDVER!
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
Tomika86
senior tag
válasz
Tankblock #17103 üzenetére
Nem látok benne én:
#include <movingAvg.h>
// initialize - allocate the interval array
void movingAvg::begin()
{
m_readings = new int[m_interval];
}
// add a new reading and return the new moving average
int movingAvg::reading(int newReading)
{
// add each new data point to the sum until the m_readings array is filled
if (m_nbrReadings < m_interval)
{
++m_nbrReadings;
m_sum = m_sum + newReading;
}
// once the array is filled, subtract the oldest data point and add the new one
else
{
m_sum = m_sum - m_readings[m_next] + newReading;
}
m_readings[m_next] = newReading;
if (++m_next >= m_interval) m_next = 0;
return (m_sum + m_nbrReadings / 2) / m_nbrReadings;
}
// just return the current moving average
int movingAvg::getAvg()
{
return (m_sum + m_nbrReadings / 2) / m_nbrReadings;
}
// start the moving average over again
void movingAvg::reset()
{
m_nbrReadings = 0;
m_sum = 0;
m_next = 0;
}
header:#ifndef MOVINGAVG_H_INCLUDED
#define MOVINGAVG_H_INCLUDED
class movingAvg
{
public:
movingAvg(int interval)
: m_interval(interval), m_nbrReadings(0), m_sum(0), m_next(0) {}
void begin();
int reading(int newReading);
int getAvg();
int getCount() {return m_nbrReadings;}
void reset();
int* getReadings() {return m_readings;}
private:
int m_interval; // number of data points for the moving average
int m_nbrReadings; // number of readings
long m_sum; // sum of the m_readings array
int m_next; // index to the next reading
int *m_readings; // pointer to the dynamically allocated interval array
};
#endif
Új hozzászólás Aktív témák
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- One otthoni szolgáltatások (TV, internet, telefon)
- Milyen billentyűzetet vegyek?
- Milyen TV-t vegyek?
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- ThinkPad (NEM IdeaPad)
- Counter-Strike: Global Offensive (CS:GO) / Counter-Strike 2 (CS2)
- Philips LCD és LED TV-k
- XPEnology
- További aktív témák...
- HP 440 G6 Intel i5-8265U laptop (Bekapcsoló gomb hibás)
- Apple Watch SE 40mm 32GB, Kártyafüggetlen, 1 Év Garanciával
- AKCIÓ! Apple MacBook Pro 13 2022 M2 8GB 256GB SSD garanciával hibátlan működéssel
- IKEA Format lámpák eladóak (Egyben kedvezménnyel vihető!)
- Samsung Galaxy A23 128GB Kártyafüggetlen 1 év Garanciával
Állásajánlatok
Cég: FOTC
Város: Budapest