Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โปรแกรมหาค่าเฉลี่ยฮาร์โมนิกของตัวเลขในภาษา C++


ด้วยอาร์เรย์ของจำนวนธรรมชาติและภารกิจคือการคำนวณค่าเฉลี่ยฮาร์มอนิกของตัวเลขที่กำหนดและพิมพ์ออกมา

ค่าเฉลี่ยฮาร์โมนิกคืออะไร

ค่าเฉลี่ยฮาร์มอนิกหมายถึงส่วนกลับของค่าเฉลี่ยเลขคณิตโดยส่วนกลับ

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

โดยที่ n คือจำนวนองค์ประกอบทั้งหมดที่กำหนด และ a, b, c,.. เป็นองค์ประกอบจริงในอาร์เรย์

ขั้นตอนในการคำนวณหาค่าเฉลี่ยฮาร์โมนิกคือ

  • ทำส่วนกลับขององค์ประกอบ

  • เพิ่มองค์ประกอบที่ตอบสนองทั้งหมดเข้าด้วยกัน

  • ตอนนี้แบ่งจำนวนองค์ประกอบทั้งหมดในอาร์เรย์ด้วยผลรวมขององค์ประกอบที่ตอบสนอง

ป้อนข้อมูล

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

ผลผลิต

Harmonic mean is: 2.74163

ป้อนข้อมูล

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

ผลผลิต

Harmonic mean is : 14.7707

อัลกอริทึม

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

ตัวอย่าง

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

ผลลัพธ์

หากรันโค้ดด้านบน มันจะสร้างผลลัพธ์ต่อไปนี้ -

Harmonic mean is : 2.74163