К содержанию

Упражнение 1 (Одномерные массивы)

Дан массив чисел. Найти значение максимального элемента. Если таких элементов несколько, то определить, сколько их.

Эта задача может быть решена за один просмотр элементов массива. Вначале устанавливаем текущий максимум по первому элементу массива МАХ := MAS[1] и запоминаем количество максимумов К := 1. Затем выбираем очередной элемент MAS[I] массива и сравниваем его с МАХ. В случае равенства увеличиваем значение К на единицу. Если текущий максимум меньше элемента MAS[I], то переприсваиваем его МАХ := MAS[I] и устанавливаем значение К в единицу. После окончания просмотра выводим результаты на экран. В данном случае считывание элементов массива разумно совместить с процессом обработки, но считывание можно осуществить и двумя последовательными циклами:

PROGRAM PRG4_1;

CONST М = 100;

VAR MAS : ARRAY[1..M] OF INTEGER;

I, MAX, K, N : INTEGER;

BEGIN

WRITE(‘BBEДИTE РАЗМЕР МАССИВА N = ‘);

READLN(N);

WRITE(‘BBEДИTE ЭЛЕМЕНТ МАССИВА ‘);

READLN(MAS[1]);

MAX := MAS[1];

K:=1;

FOR I := 2 TO N DO

BEGIN

WRITE(‘BBEДИTE ЭЛЕМЕНТ МАССИВА ‘);

READLN(MAS[I]);

IF MAX<MAS[I] THEN

BEGIN

MAX := MAS[I];

K:= 1

END

ELSE

IF MAX = MAS[I] THEN К := K+1;

END;

WRITELN(‘MAX =’, MAX, ‘ЭТИХ ЭЛЕМЕНТОВ’, К)

END.

Для решения задачи:

— формируем тело программы и описываем переменные;

— вводим длину массива N, значение элементов массива и устанавливаем начальное значение МАХ по первому числу;

— последовательно просматриваем элементы, и если очередной MAS[I] больше МАХ, то переприсваиваем значение МАХ:= MAS[I] и К:= 1;

— если MAS[I] = МАХ, то увеличиваем значение К на единицу;

— выводим результат.

Переменные:

MAS — массив чисел;

N — размер массива;

I — переменная цикла;

МАХ — значение наибольшего элемента;

К — количество наибольших элементов.

Добавить комментарий

Частые вопросы

Как часто обновляются данные по теме «Упражнение 1 (Одномерные массивы)»?

Страница пересматривается, когда меняются публичные условия, состав линейки или появляются устойчивые жалобы пользователей. Дата в карточке и в карте сайта меняется только после правки текста.

Нужна ли регистрация, чтобы пользоваться материалами Языки программирования Pascal и Delphi?

Нет. Все обзоры, таблицы и FAQ открыты. Формы заявок, если встречаются, ведут на сайты компаний и не являются частью этого проекта.

Где смотреть источники и контакты редакции Языки программирования Pascal и Delphi?

Автор указан в карточке страницы. Служебные разделы — «О проекте», «Контакты» и политика конфиденциальности — в подвале сайта.

Есть ли смысл читать FAQ, если уже есть рейтинг?

Да. FAQ отвечает на типовые вопросы выбора, рейтинг — на сравнение позиций. Это разные блоки одной страницы.