Массив: Вычисление среднего арифметического и дисперсии элементов массива - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, погуглив,понял,что это за пределами моих возможностей. пожалуйста,помогите написать маленький код... нужно,чтобы программа загрузила 5 реальных чисел,вложила(сохранила,уложила??) их в массив и вычислила их среднее арифметическое и дисперсию(http://en.wikipedia.org/wiki/Variance). надеюсь на вас.спасибо.

Решение задачи: «Массив: Вычисление среднего арифметического и дисперсии элементов массива»

textual
Листинг программы
  1. double sum(double* arr, size_t siz)
  2. {
  3.     double s = 0.0;
  4.     while( siz-- ) {
  5.         s += *arr++;
  6.     }
  7.     return s;
  8. }
  9.  
  10. double average(double* arr, size_t siz)
  11. {
  12.     return sum(arr, siz) / (double)siz;
  13. }
  14.  
  15. double square(double x)
  16. {
  17.     return x * x;
  18. }
  19.  
  20. double variance(double* arr, size_t siz)
  21. {
  22.     double expected = average(arr, siz);
  23.     double v = 0.0;
  24.     double n = (double)siz;
  25.     while( siz-- ) {
  26.         v += square(expected - *arr++);
  27.     }
  28.     return v / n;
  29. }

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

  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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы