محاسبه میانگین، واریانس و انحراف معیار آرایه در C / C++

یکی از سوال های ابتدایی، محاسبه میانگین یک آرایه با طول نامشخص است. برای یکم تنوع بیشتر چند وقت پیش سوالی دستم رسید که بجز میانگین، واریانس و انحراف معیار آرایه رو هم میخواست.

میانگین که همه میدونیم چیه. مجموع تمام داده ها تقسیم بر تعدادشون.

واریانس مجموع مربع اختلاف هر داده با میانگین میشه و انحراف معیار تقریب جذر واریانس هست.

آموزش درست و حسابیشو توی فرادرس ببینید.

خب پس بگذارید سه تا تابع بنویسیم که همشون به آرایه و تعداد اعضای اون دسترسی دارن.

int average(int arr[], int length) {
  int avg = 0;
  for (int j = 0; j < length; j++) {
    avg += arr[j];
  }
  avg = avg / length;
  return avg;
} 
#include <math.h>

int variance(int arr[], int length){
  int avg = average(arr, length);
  int var = 0;
  for (int j = 0; j < length; j++) {
    var += pow((arr[j] - avg), 2);
  }

  var = var / length;
  return var;
}
int standardDeviation = sqrt(variance(arr, length));
//یا اگر فقط میخواهیم خروجی بگیریم : 
cout << ((int)sqrt(variance(arr, length)));