Массив: Вычисление среднего арифметического и дисперсии элементов массива - 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;
}

Объяснение кода листинга программы

  1. В функции sum происходит вычисление суммы элементов массива, начиная с первого и до последнего, с использованием цикла while. Переменная s инициализируется значением 0.0 и увеличивается на каждом шаге цикла на значение текущего элемента массива, начиная с *arr++.
  2. В функции average происходит вычисление среднего арифметического элементов массива, используя функцию sum. Результат sum делится на размер массива (siz).
  3. В функции square происходит вычисление квадрата числа.
  4. В функции variance происходит вычисление дисперсии элементов массива. Сначала находится среднее значение (expected) с использованием функции average. Затем, в цикле while, происходит вычисление квадрата разности между каждым элементом массива и средним значением, и результат добавляется к переменной v. Итерация цикла продолжается до тех пор, пока все элементы массива не будут обработаны. После этого значение переменной v делится на размер массива (n), чтобы получить дисперсию.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.818 из 5
Похожие ответы