Мегаобучалка Главная | О нас | Обратная связь


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



2020-02-04 212 Обсуждений (0)
Поиск максимального и минимального элементов массива 0.00 из 5.00 0 оценок




Общий алгоритм работы можно представить в следующем виде:

· определяются переменные (max и min), в которых в результате выполнения алгоритма разместятся соответственно максимальное и минимальное значения;

·  начинается перебор массива с одновременной проверкой «является ли просматриваемый элемент больше максимального или меньше минимального»; в случае, если условие истинно – значение элемента массива присваивается соответствующей переменной;

Основной алгоритм выглядит следующим образом:

Max:= - 32000;

Min:= 32000;

For i:=1 to n do

begin

If mas[i]>max then max:=mas[i];

If mas[i]<min then min:=mas[i];

End;

Ход выполнения:

9 -7 0 -10 Элементы
1 2 3 4 Индексы

Введенный массив

 

 

i = Данные Условие Ответ Действие
Шаг 1 1 Max=-32000 Min=32000 Mas[1] = 9 9 > -32000 9 < 32000 истина истина Max=9 Min=9
Шаг 2 2 Max=9 Min=9 Mas[2]= - 7 -7 > 9 -7 < 0 ложь истина Max=9 Min= - 7
Шаг 3 3 Max=9 Min= - 7 Mas[3]=0 0 > 9 0 < -7 ложь ложь Max=9 Min= - 7
Шаг 4 4 Max=9 Min= - 7 Mas[4] = - 10 -10 > 9 - 10 < -7 ложь истина Max=9 Min= - 10

 

 

Сортировка элементов массива

Существует много алгоритмов сортировки массива, но наиболее простым и понятным является сортировка методом «пузырька», при которой самый «легкий» элемент «всплывает», а самый тяжелый «тонет».

Например,

9 -7 0 -8 Элементы
1 2 3 7 Индексы

Дан массив

 

 

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

-8 -7 0 9 Элементы
1 2 3 7 Индексы

 

При сортировке методом «пузырька» сравниваются два соседних элемента (mas[i] и mas[i+1]). Если mas[i] > mas[i+1], то происходит перестановка элементов. Визуально процесс сортировки можно представить в виде:

 

 


Рисунок 2. Сортировка методом «пузырька»

Таким образом, для организации сортировки потребуется два цикла, которые выстраиваются в следующем порядке:

(n-размерность массива)

For j:=1 to n do {количество просмотров массива}

For i:=1 to n-1 do {перебор элементов массива}

If mas[i] > mas[i+1] then begin

t:=mas[i];

mas[i]:=mas[i+1];

mas[i+1]:=t;

end;

 

Как видно из примера для перестановки элементов массива требуется дополнительная переменная, которая служит временным хранилищем значения ячейки массива.

9 -7 0 -8

Шаг 1.

9 -7 0 -8

 

 

9 -7 0 -8
-7 -7 0 -8

Шаг 2.

-7 -7 0 -8
-7 9 0 -8

Шаг 3.


Особенности обработки двумерных массивов

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

Для описания двумерных массивов используются те же способы, что и для одномерных массивов, но в качестве размерности массива задается двойное значение (Например, [1..10,1..10]).

Таким образом, для создания двумерного целочисленного массива размерностью 5×7 (5 строк, 7 столбцов) необходимо записать:

Способ 1

Type mas=array[1..5,1..7] of integer;

Способ 2

Var mas:array[1..5,1..7] of integer;

Для последовательного перебора всех элементов двумерного массива необходимо использовать т.н. вложенный цикл:

For i:=1 to 5 do {перебор строк матрицы}

For j:=1 to 7 do {перебор столбцов (ячеек) в строке}

Т.е. значение индекса строки (i) увеличится только в том случае, если индекс столбца (j) дойдет до своего конечного значения (в примере j = 7).

При такой организации перебора элементов массива процесс перебора будет проходить по следующей схеме:

 

11 12 13 14 15 16 17
21 22 23 24 25 26 27
31 32 33 34 35 36 37
41 42 43 44 45 46 47
51 52 53 54 55 56 57

 

Рисунок 3. Процесс перебора элементов двумерного массива

Ход выполнения:

i = j = Условие перехода на следующую строку j =7 Обрабатываемый элемент
Шаг 1 1 1 нет Mas[1,1]
Шаг 2 1 2 нет Mas[1,2]
Шаг 3 1 3 нет Mas[1,3]
Шаг 4 1 4 нет Mas[1,4]
Шаг 5 1 5 нет Mas[1,5]
Шаг 6 1 6 нет Mas[1,6]
Шаг 7 1 7 да Mas[1,7]
Шаг 8 2 1 нет Mas[2,1]
Шаг 9 2 2 нет Mas[2,2]
Шаг 10 2 3 нет Mas[2,3]

 

Для того чтобы вывести двумерный массив на экран в виде таблицы необходимо после вывода содержимого каждой строки предусмотреть переход на строку ниже:

For i:=1 to n do

Begin

For j:=1 to n do

Write(mas[i,j],’ ‘);

Writeln;

End;




2020-02-04 212 Обсуждений (0)
Поиск максимального и минимального элементов массива 0.00 из 5.00 0 оценок









Обсуждение в статье: Поиск максимального и минимального элементов массива

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы...
Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация...
Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы...
Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (212)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.008 сек.)