Массив: Вычисление среднего арифметического и дисперсии элементов массива - C (СИ)
Формулировка задачи:
Здравствуйте,
погуглив,понял,что это за пределами моих возможностей.
пожалуйста,помогите написать маленький код...
нужно,чтобы программа загрузила 5 реальных чисел,вложила(сохранила,уложила??) их в массив и вычислила их среднее арифметическое и дисперсию(http://en.wikipedia.org/wiki/Variance).
надеюсь на вас.спасибо.
Решение задачи: «Массив: Вычисление среднего арифметического и дисперсии элементов массива»
textual
Листинг программы
double sum(double* arr, size_t siz) { double s = 0.0; while( siz-- ) { s += *arr++; } return s; } double average(double* arr, size_t siz) { return sum(arr, siz) / (double)siz; } double square(double x) { return x * x; } double variance(double* arr, size_t siz) { double expected = average(arr, siz); double v = 0.0; double n = (double)siz; while( siz-- ) { v += square(expected - *arr++); } return v / n; }
Объяснение кода листинга программы
- В функции
sum
происходит вычисление суммы элементов массива, начиная с первого и до последнего, с использованием циклаwhile
. Переменнаяs
инициализируется значением 0.0 и увеличивается на каждом шаге цикла на значение текущего элемента массива, начиная с*arr++
. - В функции
average
происходит вычисление среднего арифметического элементов массива, используя функциюsum
. Результатsum
делится на размер массива (siz
). - В функции
square
происходит вычисление квадрата числа. - В функции
variance
происходит вычисление дисперсии элементов массива. Сначала находится среднее значение (expected
) с использованием функцииaverage
. Затем, в циклеwhile
, происходит вычисление квадрата разности между каждым элементом массива и средним значением, и результат добавляется к переменнойv
. Итерация цикла продолжается до тех пор, пока все элементы массива не будут обработаны. После этого значение переменнойv
делится на размер массива (n
), чтобы получить дисперсию.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д