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

Chương trình cho trung bình hài hòa của các số trong C ++


Cho với một mảng số tự nhiên và nhiệm vụ là tính giá trị trung bình hài hòa của các số đã cho và in ra.

Nghĩa là gì?

Trung bình hài có nghĩa là nghịch đảo của trung bình số học với nghịch đảo của chúng.

$$ Harmonic \:Mean =\ frac {n} {\ frac {1} {a} + \ frac {1} {b} + \ frac {1} {c} + ...} $$

Trong đó, n là tổng số phần tử đã cho và a, b, c, .. là các phần tử thực tế trong một mảng.

Các bước để tính giá trị trung bình hài là -

  • Thực hiện tương hỗ của các phần tử

  • Thêm tất cả các yếu tố tương hỗ với nhau

  • Bây giờ chia tổng số phần tử trong một mảng cho tổng các phần tử tương hỗ

Đầu vào

arr[] = {2.0, 3.4, 5.3, 2.1}

Đầu ra

Harmonic mean is: 2.74163

Đầu vào

arr[] = {13.5, 14.5, 14.8, 15.2, 16.1}

Đầu ra

Harmonic mean is : 14.7707

Thuật toán

Start
Step 1→ declare function to calculate harmonic mean of numbers
   float harmonic_mean(float arr[], int size)
      Declare float sum = 0
      Loop For int i = 0 and i < size and i++
         Set sum = sum + (float)1 / arr[i]
      End
   return (float)size/sum
Step 2→ In main()
   Declare float arr[] = {2.0, 3.4, 5.3, 2.1}
   Declare int size = sizeof(arr) / sizeof(arr[0])
   Call harmonic_mean(arr, size)
Stop

Ví dụ

#include <bits/stdc++.h>
using namespace std;
//calculate harmonic mean
float harmonic_mean(float arr[], int size){
   float sum = 0;
   for (int i = 0; i < size; i++)
      sum = sum + (float)1 / arr[i];
   return (float)size/sum;
}
int main(){
   float arr[] = {2.0, 3.4, 5.3, 2.1};
   int size = sizeof(arr) / sizeof(arr[0]);
   cout<<"Harmonic mean is : "<<harmonic_mean(arr, size);
   return 0;
}

Đầu ra

Nếu chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -

Harmonic mean is: 2.74163