Книга: Одномерные массивы

}

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
Бесплатно скачать Книга: Одномерные массивы