Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ_СРСП_Программирование РЭС.doc
Скачиваний:
0
Добавлен:
07.01.2020
Размер:
2.86 Mб
Скачать

6.2 Одномерные массивы

Пример 6.3. Ввод элементов одномерного массива

Напишем фрагмент программы, предусматривающей ввод числа посетителей Интернет-кафе в течение недели в соответствии с таблицей 19.

Таблица 19 – Фрагменты программ

Линейная программа

Использование цикла

Использование массива

int n1,n2,n3,n4,n5, n6, n7;

printf("введите число посетителей за семь дней ");

scanf("%d %d %d %d %d %d %d",&n1, &n2, &n3, &n4, &n5, &n6, &n7, );

int i,n;

for (i=1;i<=7;i++)

{

printf("введите число посетителей, %d день ", i);

scanf("%d\n",&n);

}

int n[7],i;

for (i=1;i<=7;i++)

{

printf("введите число посетителей, %d день ", i);

scanf("%d",&n[i]);

}

Задание 6.3.

Определите достоинства и недостатки каждого способа ввода информации.

Пример 6.4. Нахождение суммы и среднего значения элементов массива.

Напишем программу, определяющую общую и среднюю посещаемость Интернет-кафе за неделю:

#include "stdafx.h"

#include<stdio.h>

#include<conio.h>

using namespace System;

int main(array<System::String ^> ^args)

{

int n[7],i,S;

float Sr;

for (i=1;i<=7;i++)

{

printf("Введите число посетителей за %d день ", i);

scanf("%d",&n[i]);

}

S=0;

for (i=1;i<=7;i++) S=S+n[i];

Sr=S/7;

printf("Общая посещаемость = %d\nСреднее значение посещаемости = %f\n ",S, Sr);

getch();

return 0;

}

Вычисление суммы элементов массива представлено в таблице 20.

Таблица 20 – Вычисление суммы элементов массива

Исходные данные: 13, 12, 9, 7, 10, 6, 10

i

1

2

3

4

5

6

7

n[i]

36

31

45

48

57

71

70

S

0

36

67

112

160

217

288

358

Задание 6.4.

Выполните программу примера 6.4.

Пример 6.5. Нахождение наибольшего элемента массива и его номера.

Напишем программу, определяющую наибольшее число посетителей Интернет-кафе за неделю.

Чтобы лучше представить себе, как последовательно просмат­ривать и сравнивать между собой числа, записанные в памя­ти, вообразим, что каждое число написано на отдельной кар­точке и карточки сложены стопкой. В таком случае мы первое число запомним сразу как наибольшее и перевернем карточку. Теперь в нашем распоряжении два числа: одно видим, другое — помним. Сравнивая их между собой, запомним большее, т. е. если первое было больше, то запоминать новое не придется и надо смотреть следующую карточку. Если второе больше пер­вого, то первое в дальнейшем помнить нет смысла и мы за­помним второе. Таким образом, на каждом этапе сравнения мы будем помнить большее из просмотренных чисел и в кон­це решим поставленную задачу. Записав приведенные рассуж­дения в виде операторов, получим программу нахождения на­ибольшего значения. Промежуточные значения и ответ содер­жит переменная max. Переменная k содержит номер (индекс) максимального элемента.

Код поиска максимального элемента массива и его номера (максимального числа посетителей):

k=1;

max=n[1];

for (i=2;i<=7;i++)

if (max<n[i])

{

k=i;

max=n[i];

}

printf("Максимальное число посетителей %d на %d день",max,k);

Задание 6.5

Дополните программу примера 6.4 кодом поиска максимального элемента массива и его номера. Определите количество дней, когда число посетителей было больше 50.