Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
40
Добавлен:
28.03.2015
Размер:
188.42 Кб
Скачать

Нахождение среднего арифметического

Среднее арифметическое значение элементов массива вычисляется по следующей формуле:

. (3.2)

Алгоритм вычисления соотношения (3.2) похож на ранее рассмотренное вычисление суммы элементов массива, и в листинге 3.3 приведена программа, реализующая решение данной задачи.

Листинг 3.3. Вычисление среднего арифметического значения элементов массива

#include <iostream>

using namespace std;

#include <conio.h>

#include <math.h>

#define N 10

#define NM 11

void main()

{

int A[NM];

int J,S;

for (J=1; J<= N; J++)

{ A[J]=rand()%100;

cout <<"\n"<<A[J]; }

S=0;

for (J=1; J<= N; J++)

{

S= S + A[J];

}

S= S/N;

cout <<"\nSumma="<<Summa;

_getch();

}

Нахождение среднего арифметического при условии

Внесем небольшие изменения в предыдущую программу. Так, нам необходимо подсчитать среднее значение только для тех элементов, которые расположены в интервале от -15 до 20 (включая границы интервала). При заполнении массива обеспечим внесение в него наряду с положительными значениями еще и отрицательные.

Программная разработка, решающая поставленную задачу, приведена в листинге 3.4. Здесь для подсчета элементов массива, участвующих в расчете среднего значения, используется переменная M.

Листинг 3.4. Вычисление среднего значения элементов массива при условии

#include <iostream>

using namespace std;

#include <conio.h>

#include <math.h>

#define N 10

#define NM 11

void main()

{

int A[NM];

int J,M;

float S;

for (J=1; J<= N; J++)

{ A[J]=rand()%101 - 50;

cout <<"\n"<<A[J]; }

S=0;

M=0;

for (J=1; J<= N; J++)

{

if ( (A[J] >= -15 )&& ( A[J] <= 20))

{

M=M+1;

S= S + A[J];

}

}

S= S / M;

cout <<"\nS="<<S;

_getch();

}

Поиск максимального элемента в массиве

В листинге 3.5 приведена программа поиска максимального элемента в числовом массиве. Сам массив предварительно заполняется случайными целыми числами. Блок-схема алгоритма показана на рис. 3.1.

Листинг 3.5. Поиск максимального элемента в массиве

#include <iostream>

using namespace std;

#include <conio.h>

#include <math.h>

#define N 10

#define NM 11

void main()

{

int A[NM];

int J,Max;

float S;

for (J=1; J<= N; J++)

{ A[J]=rand()%100;

cout <<"\n"<<A[J]; }

Max= A[1];

for (J=2; J<= N; J++)

{

if ( A[J] > Max )

Max=A[J];

}

cout <<"\n'Максимальный элемент ="<<Max;

_getch();

}

Рис. 3.1. Блок-схема к программе листинга 3.5

Поиск индексов в массиве

Рассмотрим еще один пример. Пусть наша задача заключается в том, чтобы найти индексы максимального и минимального элементов в массиве. В листинге 3.6 приведена программа поиска указанных индексов для массива элементов, предварительно заполненного случайными числами. Блок-схема алгоритма показана на рис. 3.2.

Если максимальных или минимальных элементов несколько, то данная программа отображает только индексы первых найденных элементов.

Листинг 3.6. Поиск индексов минимального и максимального элементов массива

#include <iostream>

using namespace std;

#include <conio.h>

#include <math.h>

#define N 10

#define NM 11

void main()

{

int A[NM];

int J,Jmax,Jmin,Max,Min;

for (J=1; J<= N; J++)

{ A[J]=rand()%100;

cout <<"\n"<<A[J]; }

Max= A[1];

Min= A[1];

Jmax=1;

Jmin=1;

for (J=2; J<= N; J++)

{

if ( A[J] > Max)

{ Max=A[J];

Jmax=J; }

if ( A[J] < Min)

{ Min=A[J];

Jmin=J; }

}

cout <<"\nИндекс максимального элемента равен "<<Jmax;

cout <<"\nИндекс минимального элемента равен "<<Jmin;

_getch();

}

Рис. 3.2. Блок-схема к программе листинга 3.6

Соседние файлы в папке файлы по информатике