如何计算unsigned char数组中元素的平均值?

Eve*_*ton 2 c c++ unsigned-char

我有一个快速的,我在假设问题,但我无法在网上找到任何东西.

如何计算unsigned char数组中元素的平均值?或者更喜欢它,对unsigned char执行操作?

Naw*_*waz 5

C++ 03和C++ 0x:

#include <numeric>

int count = sizeof(arr)/sizeof(arr[0]);
int sum = std::accumulate<unsigned char*, int>(arr,arr + count,0);
double average = (double)sum/count;
Run Code Online (Sandbox Code Playgroud)

在线演示:http://www.ideone.com/2YXaT


仅限C++ 0x(使用lambda)

#include <algorithm>

int sum = 0;
std::for_each(arr,arr+count,[&](int n){ sum += n; });
double average = (double)sum/count;
Run Code Online (Sandbox Code Playgroud)

在线演示:http://www.ideone.com/IGfht