Арифметические операции работают только на unsigned char
, хотя иногда вас удивляет тот факт, что арифметика в C всегда продвигается до int
.
В стандартной библиотеке шаблонов С ++,
#include <numeric>
template<class InputIterator, class T>
T accumulate(InputIterator first, InputIterator last, T init);
Чтобы вычислить сумму unsigned char arr[]
, вы можете использовать accumulate(arr, arr + sizeof(arr)/sizeof(arr[0]), 0)
. (0 - это int
. Возможно, вам будет удобно использовать другой тип.)
Без STL это тривиально вычисляется с помощью цикла.
Средняя сумма, деленная на длину (sizeof(arr)/sizeof(arr[0])
).
Вы знаете, как взять t он средний набор данных? Вы понимаете концепцию массивов? Вы хотите понять синтаксис работы с массивами? Вы хотите сделать это на C или C++? (** C и C++ - разные языки. ** Для каждого из них будут разные ответы. Теги '[c]' и '[C++]' не эквивалентны!) –