Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Average of a stream of numbers in C++
Average of numbers is the sum of numbers divided by the total number of numbers.
In this problem, we are given a stream of numbers. And we will print average of the number at every point.
Let’s take an example of how it works −
We have a stream of 5 number 24 , 76 , 29, 63 , 88
The average at each point of the stream would be −
24 , 50 , 43 , 48 , 56.
For this we will find the average of the stream every time a number is added to the stream. So, we need to find the average of 1 number , 2 numbers , 3 numbers and so on. We will make use of previous average for this.
Algorithm
Step 1 : for i -> 0 to n (length of stream). Step 2 : find the average of elements using formula : Average = (average * i) + i / (i+1) Step 3 : print average.
Example
#include <iostream>
using namespace std;
int main(){
int arr[] = { 24 , 76 , 29, 63 , 88 };
int average = 0;
int n = sizeof(arr) / sizeof(arr[0]);
for(int i = 0 ; i< n ; i++){
average = ((average * i) + arr[i]) / (i+1);
cout<<"The average of "<<i+1<<" numbers of the stream is "<<average<<endl;
}
return 0;
}
Output
The average of 1 numbers of the stream is 24 The average of 2 numbers of the stream is 50 The average of 3 numbers of the stream is 43 The average of 4 numbers of the stream is 48 The average of 5 numbers of the stream is 56
The same algorithm is applicable for all data types. And can be used to calculate the average of stream at every point.
Advertisements