用 C++ 计算平均绝对差的程序


给定一个自然数数组,任务是计算平均绝对差,为此,我们需要了解平均值、方差和标准偏差。

计算平均绝对差需要遵循以下步骤

  • 计算平均值

  • 计算绝对差

  • 将所有计算所得的绝对差相加

  • 套用公式

输入 

arr[] = { 34,21,56,76,45,11}

输出 

mean absolute deviation is : 18.5

输入 

arr[] = {10, 15, 15, 17, 18, 21}

输出 

mean absolute mean absolute deviation is : 2.66

给定程序中使用的如下

  • 输入数组元素

  • 计算数组平均值

  • 使用公式计算绝对差:Sum = Sum + abs(arr[i] - Mean(arr, n))

  • 计算平均绝对差,方法是将总绝对差除以数组中元素的总数

(abs(arr[0] – mean) + abs(arr[1] – mean) + . . + abs(arr[n-1] – mean) / n

算法

Start
Step 1→ declare function to calculate mean
   float mean(float arr[], int size)
      declare float sum = 0
      Loop For int i = 0 and i < size and i++
         Set sum = sum + arr[i]
      End
      return sum / size
Step 2→ Declare function to calculate deviation
   float deviation(float arr[], int size)
   declare float sum = 0
   Loop For int i = 0 and i < size and i++
      Set sum = sum + abs(arr[i] - mean(arr, size))
   End
   return sum / size
Step 3→ In main()
   Declare float arr[] = { 34,21,56,76,45,11}
   Declare int size = sizeof(arr) / sizeof(arr[0])
   Call deviation(arr, size)
Stop

示例

 演示

#include <bits/stdc++.h>
using namespace std;
//calculate mean using mean function
float mean(float arr[], int size){
   float sum = 0;
   for (int i = 0; i < size; i++)
      sum = sum + arr[i];
   return sum / size;
}
//calculate mean deviation
float deviation(float arr[], int size){
   float sum = 0;
   for (int i = 0; i < size; i++)
      sum = sum + abs(arr[i] - mean(arr, size));
   return sum / size;
}
int main(){
   float arr[] = { 34,21,56,76,45,11};
   int size = sizeof(arr) / sizeof(arr[0]);
   cout<<"mean absolute deviation is : "<<deviation(arr, size);
   return 0;
}

输出

如果运行以上代码,它将生成以下输出 −

mean absolute deviation is : 18.5

更新于:13-Aug-2020

666 次浏览

职业生涯起步

完成课程获得认证

开始吧
广告
© . All rights reserved.