Computer >> Máy Tính >  >> Lập trình >> C ++

Trung bình của một dòng số trong C ++

Trung bình của các số là tổng các số chia cho tổng số các số.

Trong bài toán này, chúng ta được đưa ra một dãy số. Và chúng tôi sẽ in trung bình của con số tại mọi thời điểm.

Hãy lấy một ví dụ về cách nó hoạt động -

Chúng ta có một dòng gồm 5 số 24, 76, 29, 63, 88

Mức trung bình tại mỗi điểm của luồng sẽ là -

24 , 50 , 43 , 48 , 56.

Đối với điều này, chúng tôi sẽ tìm giá trị trung bình của luồng mỗi khi một số được thêm vào luồng. Vì vậy, chúng ta cần tìm trung bình cộng của 1 số, 2 số, 3 số, v.v. Chúng tôi sẽ sử dụng mức trung bình trước đó cho việc này.

Thuật toán

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.

Ví dụ

#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;
}

Đầu ra

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

Thuật toán tương tự có thể áp dụng cho tất cả các kiểu dữ liệu. Và có thể được sử dụng để tính toán mức trung bình của luồng tại mọi thời điểm.