49.2k views
3 votes
Write a program that outputs a moving average. For a series of whitespace delimited integers (note, the running average should be rounded to the hundredth place. However, if a non-positive number is encountered, the average should be reset and a newline character emitted. Otherwise, the running averages should be separated by a space.

User Rob White
by
8.1k points

1 Answer

1 vote

Answer:

using std::cin; using std::cout; using std::endl;

double input;

double count = 0;

double sum;

int main(){

while (cin >> input){

if (input > 0) {

count++;

sum += input;

cout << (sum / count) << " ";

}

else{

count = sum = 0;

}

}

}

Step-by-step explanation:

This computes the moving average as you desire in C++. The else{} block resets the sum and count to 0 if a non-positive number is encountered.

User Jerry Ajay
by
7.9k points