C++程式:區間算術平均數
我們給出三個陣列,第一個陣列包含算術平均數的上限,第二個陣列包含算術平均數的下限,第三個陣列包含頻率,任務是生成給定區間值的算術平均數。
什麼是算術平均數?
算術平均數是透過將集合中所有元素的總和除以集合中元素的總數計算得到的平均值。
如何計算區間算術平均數
- 給定下限、上限、頻率
| 下限 | 上限 | 頻率 |
|---|---|---|
| 1 | 2 | 1 |
| 3 | 4 | 2 |
| 5 | 6 | 3 |
| 7 | 8 | 4 |
- 透過將上限和下限相加,然後將結果除以2(因為有兩個值)來計算中點。然後將區間的中點與其對應的頻率相乘。
| 下限 | 上限 | 頻率(f) | 中點(m) | m*f |
|---|---|---|---|---|
| 1 | 2 | 1 | (1+2)/2=1.5 | 1.5*1=1.5 |
| 3 | 4 | 2 | (3+4)/2=3.5 | 3.5*2=7.0 |
| 5 | 6 | 3 | (5+6)/2=5.5 | 5.5*3=16.5 |
| 7 | 8 | 4 | (7+8)/2=7.5 | 7.5*4=30.0 |
- 透過將m*f的總和除以頻率的總和來計算算術平均數,得到最終結果。
區間算術平均數 = 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-: UowerLimit[] = { 2, 4, 6, 8, 10 }
LpperLimit[] = { 1, 3, 5, 7, 9 }
freq[] = { 1, 2, 3, 4, 5 }
Output: 5.5演算法
START
Step 1-> declare function to calculate class interval arithmetic mean
float AM(int LowerLimit[], int UpperLimit[], int freq[], int terms)
Declare float mid[terms]
declare and set float sum = 0 and Sum_freq = 0
Loop For int i = 0 and i < terms and i++
Set mid[i] = (LowerLimit[i] + UpperLimit[i]) / 2
Set sum = sum + mid[i] * freq[i]
Set Sum_freq = Sum_freq + freq[i]
End
return sum / Sum_freq
Step 2-> In main()
Declare int LowerLimit[] = { 2, 4, 6, 8, 10 }
Declare int UpperLimit[] = { 1, 3, 5, 7, 9 }
Declare int freq[] = { 1, 2, 3, 4, 5 }
Declare int size = sizeof(freq) / sizeof(freq[0])
Call AM(LowerLimit, UpperLimit, freq, size)
STOP示例
#include <bits/stdc++.h>
using namespace std;
//calculate class interval arithmetic mean.
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 UowerLimit[] = { 2, 4, 6, 8, 10 };
int LpperLimit[] = { 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
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP