Алгоритм поиска максимального элемента массива

Дан массив X, состоящий из n элементов. Необходимо найти максимальный элемент массива и номер, под которым он хранится в массиве.

Алгоритм решения задачи следующий. Пусть в переменной с именем max хранится значение максимального элемента массива, а в переменной с именем Nmax – его номер. Предположим, что первый элемент массива является максимальным и запишем его в переменную max, а в Nmax – его номер (т.е. 1). Затем все элементы, начиная со второго, сравниваем в цикле с максимальным. Если текущий элемент массива оказывается больше максимального, то записываем его в переменную max, а в переменную Nmax – текущее значение индекса i.

Соответствующий фрагмент программы имеет вид:

Writeln(‘max= ’,max,’ Nmax= ‘,Nmax);

Сортировка массивов

Сортировка – распределение элементов массива по группам в соответствии с определенными правилами.

Линейная сортировка (сортировка отбором)

Идея линейной сортировки (например, по возрастанию) заключается в том, чтобы последовательно просматривая весь массив, отыскать наименьшее число и поместить его на первую позицию, обменяв его с элементом, который ранее занимал первую позицию. Затем просматриваются все остальные элементы массива и выполняется аналогичная операция по отбору из рассматриваемой части массива минимального элемента и обмену местами этого элемента и первого из рассматриваемой части и т.д.

var A: array[1..10] of integer;

for i:=1 to 10 do

for i:=1 to 10-1 do

for j:=i+1 to 10 do

for i:=1 to 10 do

где I – используется для указания позиции первого элемента в рассматриваемой части массива;

J – для указания позиции очередного сравниваемого с ним элемента;

Если условие A[i]>=A[j] выполняется, т.е. в неотсортированной части массива найден элемент, меньший, чем первый, то необходимо обменять местами эти элементы.

Читайте также:  Red dead redemption 2 дата выхода цена

Генерация случайных чисел

Генерация случайных вещественных чисел (REAL) в диапазоне от 0 до 1 осуществляется с помощью функции RANDOM

Если необходимо генерировать случайные числа в другом диапазоне, то необходимо преобразовать это выражение с помощью операций смещения и масштабирования. Например, для того, чтобы получить случайное число в диапазоне от 10 до 12, необходимо написать:

Для генерации целых случайных чисел (INTEGER) в диапазоне от 0 до N используется функция RANDOM с аргументом:

Для смены базы генерации случайных чисел, чтобы при каждом новом прогоне программы числа были другие, используется процедура RANDOMIZE. Обращение к этой процедуре идёт до обращения к функциям RANDOM.

Алгоритм поиска минимального (максимального) элемента в неупорядоченном массиве довольно очевиден: делается предположение, что первый элемент массива является минимальным (максимальным), затем остальные элементы массива последовательно сравниваются с этим элементом. Если во время очередной проверки обнаруживается, что проверяемый элемент меньше (больше) принятого за минимальный (максимальный), то этот элемент принимается за минимальный (максимальный) и продолжается проверка оставшихся элементов.

Пример программы поиска минимального элемента в массиве целых чисел.

program Primer;

const n=10;

vara:array[1..n] of integer;

Begin

for i:=2 to n do

writeln(‘минимальный элемент массива’,a[min],’, номер элемента’,min);

Задание: Дан массив целых чисел. Найти сумму элементов массива, которые делятся на 5 нацело.

Алгоритм решения задачи:

1. Попросить пользователя ввести с клавиатуры 5 чисел и записать их в массив A.

2. Присвоить переменной S значение ноль (сумма элементов, которые делятся на 5).

3. Просматривая массив, найти элементы, которые делятся на 5, т.е. при делении элемента массива на 5 остаток от деления должен равняться нулю и значение этих элементов накапливать в переменной S.

4. Вывести сумму на экран.

Читайте также:  Epson stylus color 640

Блок-схема программыприведена на рисунке И.3.

Рисунок И.3 – Алгоритм программы

Листинг программы:

program Primer;

var A:array[1..10] of integer;

Begin

writeln(‘Введите 10 элементов массива’);

fori:=1 to 10 do readln(A[i]);

for i:=1 to 10 do

if A[i] mod 5=0 then S:=S+A[i];

writeln(‘Сумма элементов массива, которые делятся на 5 равна’,S);

Приложение К

Не нашли то, что искали? Воспользуйтесь поиском:

Лучшие изречения: Для студентов недели бывают четные, нечетные и зачетные. 9696 — | 7547 — или читать все.

91.146.8.87 © studopedia.ru Не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования. Есть нарушение авторского права? Напишите нам | Обратная связь.

Отключите adBlock!
и обновите страницу (F5)

очень нужно

Часто встречаются задачи, где необходимо найти максимальный элемент в массиве. Рассмотрим общий алгоритм решения такой задачи.

Первое, что придётся сделать – создать массив. Как нам уже известно, нужно использовать цикл с параметром. Также удобнее будет создать массив случайным образом, если в условии задачи не оговорён способ задания массива.

Алгоритм нахождения максимального элемента массива выполняется следующим образом.

Сначала указываем, что первый элемент массива считается максимальным, иначе говоря – Max = A[i].

Потом начинаем процесс сравнивания последующих элементов массива с максимальным элементом в массиве.

Тут возможно два случая :

  1. Если максимальный элемент больше следующего, то ничего не меняем.
  2. Если максимальный элемент меньше следующего, то он становиться максимальным.

После этого выводим на экран максимальный элемент.

Блок-схема максимальный элемент массива

Программа максимальный элемент массива Pascal

Ниже представлен текст программы на языке Pascal, как найти максимальный элемент массива. Как было указанно в алгоритме выше, сначала создается сам массив (в моем случает любые целые числа от 0 до 100 включительно).

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *