Книга: Одномерные массивы
}
return(0);
}
Рисунок 2.10 Графическая схема и программа для примера 2.5
2.6 Вычисление произведения элементов массива
Формулы, по которым вычисляется произведение элементов массива, аналогичны формулам вычисления сумм:
, (2.4)
. (2.5)
Поэтому вычисление произведения элементов массива выполнятся по алгоритмам аналогичным вычислению суммы. Отличие заключается в том, что начальное значение произведения p должно быть равным 1 , а в цикле по параметру i надо вычислять p=p*ai . Таким образом, если в графических схемах алгоритмов, рисунок 2.5 – 2.7 вместо s=0 и s=s+ai записать p=1 и p=p*ai , то получим алгоритмы вычисления произведения элементов массива.
Пример 2.6.
В одномерном массиве a размерностью n , вычислить среднее геометрическое ненулевых элементов массива.
Решение
Среднее геометрическое k элементов массива – это корень степени k из произведения этих элементов. Таким образом, сначала необходимо вычислить произведение Р ненулевых элементов массива и их количество k , а затем среднее геометрическое Sg по формуле:
. (2.6)
Например, если элементы массива равны A = {1, 0, 2, 4, 0} то –
Графическая схема алгоритма решения задачи изображена на рисунке 2.11. В приведенном алгоритме в цикле по i ( блоки 5 – 9) помимо вычисления произведения вычисляется и количество ненулевых элементов массива. После цикла с помощью ветвления, проверяется, есть ли в массиве ненулевые элементы (k>0 – условие наличия в массиве ненулевых элементов), в этом случае вычисляется и выводится среднее геометрическое. В противном случае выводится сообщение "В массиве все элементы равны нулю ". В программе переменные Р и Sg имеют вещественный тип двойной точности (double ), т.к. произведение вещественных чисел может быть очень большим числом.
Используемые переменные: n – число элементов массива; a[] – статический массив; P – произведение не нулевых элементов массива; k – количество не нулевых элементов массива; Sg – среднее геометрическое элементов массива; i – параметр цикла;
|
#include <stdio.h> #include <math.h> main() { float a[20]; int n, i , k; double P, Sg; К-во Просмотров: 1172
Бесплатно скачать Книга: Одномерные массивы
|