# Program for harmonic mean of numbers in C++

C++Server Side ProgrammingProgramming

Given with an array of natural numbers and the task is to calculate the harmonic mean of given numbers and print it.

## What is harmonic mean?

Harmonic mean means the reciprocal of the arithmetic mean by their reciprocals.

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

Where, n is the total number of elements given and a, b, c,.. are the actual elements in an array.

Steps to calculate the harmonic mean are

• Do the reciprocal of the elements

• Add all the reciprocated elements together

• Now divide the total number of elements in an array by the sum of reciprocated elements

Input

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

Output

Harmonic mean is: 2.74163

Input

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

Output

Harmonic mean is : 14.7707

## Algorithm

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

## Example

Live Demo

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

## Output

If run the above code it will generate the following output −

Harmonic mean is : 2.74163
Published on 13-Aug-2020 07:33:25