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

โปรแกรม C++ สำหรับค่าเฉลี่ยเลขคณิตของช่วงชั้น (Class Interval Arithmetic Mean)


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

ค่าเฉลี่ยเลขคณิตคืออะไร?

ค่าเฉลี่ยเลขคณิตคือค่าเฉลี่ยที่คำนวณโดยการหารผลรวมของทุกสมาชิกในชุดด้วยจำนวนสมาชิกทั้งหมดในชุดที่กำหนด

วิธีคำนวณ Class Interval Arithmetic Mean

  • กำหนดขอบเขตล่าง, ขอบเขตบน, ความถี่
ขอบเขตล่างขอบเขตบนความถี่
121
342
563
784
  • คำนวณจุดกึ่งกลาง (mid-point) โดยการบวกขอบเขตบนและขอบเขตล่าง แล้วหารผลลัพธ์สุดท้ายด้วย 2 เนื่องจากมีค่าสองค่า หลังจากนั้น คูณจุดกึ่งกลางของช่วงชั้นกับความถี่ที่สอดคล้อง
ขอบเขตล่างขอบเขตบนความถี่(f)จุดกึ่งกลาง(m)m*f
121(1+2)/2=1.51.5*1=1.5
342(3+4)/2=3.53.5*2=7.0
563(5+6)/2=5.55.5*3=16.5
784(7+8)/2=7.57.5*4=30.0
  • คำนวณค่าเฉลี่ยเลขคณิตโดยการหารผลรวม m*f ด้วยผลรวมของความถี่สำหรับผลลัพธ์สุดท้าย

Class Interval Arithmetic Mean = ผลรวม m*f / ผลรวม f = (1.5+7.0+16.5+30.0)/(1+2+3+4) = 5.5

ตัวอย่าง

Input-: LowerLimit[] = {1, 6, 11, 16, 21}    UpperLimit[] = {5, 10, 15, 20, 25}    freq[] = {10, 20, 30, 40, 50} Output: 16.3333 Input-: LowerLimit[] = { 2, 4, 6, 8, 10 }    UpperLimit[] = { 1, 3, 5, 7, 9 }    freq[] = { 1, 2, 3, 4, 5 } Output: 5.5

อัลกอริทึม

เริ่มต้น ขั้นตอนที่ 1 -> ประกาศฟังก์ชันคำนวณค่าเฉลี่ยเลขคณิตช่วงชั้น    float AM(int LowerLimit[], int UpperLimit[], int freq[], int terms)    ประกาศ float mid[terms]    ประกาศและตั้งค่า float sum = 0 และ Sum_freq = 0    ลูป For int i = 0 และ i < terms และ i++       ตั้งค่า mid[i] = (LowerLimit[i] + UpperLimit[i]) / 2       ตั้งค่า sum = sum + mid[i] * freq[i]       ตั้งค่า Sum_freq = Sum_freq + freq[i]    จบ    คืนค่า sum / Sum_freq ขั้นตอนที่ 2 -> ใน main()    ประกาศ int LowerLimit[] = { 2, 4, 6, 8, 10 }    ประกาศ int UpperLimit[] = { 1, 3, 5, 7, 9 }    ประกาศ int freq[] = { 1, 2, 3, 4, 5 }    ประกาศ int size = sizeof(freq) / sizeof(freq[0])    เรียก AM(LowerLimit, UpperLimit, freq, size) จบ

ตัวอย่าง

#include <bits/stdc++.h> using namespace std; // คำนวณค่าเฉลี่ยเลขคณิตช่วงชั้น float AM(int LowerLimit[], int UpperLimit[], int freq[], int terms) {     float mid[terms];     float sum = 0, Sum_freq = 0;     for (int i = 0; i < terms; i++) {       mid[i] = (LowerLimit[i] + UpperLimit[i]) / 2;       sum = sum + mid[i] * freq[i];       Sum_freq = Sum_freq + freq[i];     }     return sum / Sum_freq; } int main() {     int LowerLimit[] = { 2, 4, 6, 8, 10 };     int UpperLimit[] = { 1, 3, 5, 7, 9 };     int freq[] = { 1, 2, 3, 4, 5 };     int size = sizeof(freq) / sizeof(freq[0]);     cout<<"Arithmetic mean is : "<<AM(LowerLimit, UpperLimit, freq, size);     return 0; }

ผลลัพธ์

Arithmetic mean is : 5.5