Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






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






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

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

Диалоговое окно приложения поиска минимального элемента массива содержит соответствующим образом настроенный компонент stringGridi, который применяется для ввода элементов массива, два поля меток (Label1 и Label2), использующиеся для вывода информационного сообщения и результата работы программы, и командную кнопку (Buttonl), при щелчке на которой выполняется поиск минимального элемента массива.

В листинге 6 приведена процедура обработки события OnClick для командной кнопки Button1, которая вводит массив, выполняет поиск минимального элемента и выводит результат — номер и значение минимального элемента массива.

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

 

unit lookmin_;

Interface

Windows, Messages, SysUtils, Classes, Graphics,

Controls, Forms, Dialogs, StdCtrls, Grids;

 

Type

TForm1 = class(TForm)

Label1: TLabel;

Button1: TButton;

Label2: TLabel;

StringGridl: TStringGrid;

 

procedure ButtonlClick(Sender: TObject);

Private

{ Private declarations)

 

Public

{ Public declarations }

End;

 

Var

Form1: TForm1;

Implementation

{$R *.DFM}

 

procedure TForm1.ButtonlClick(Sender: TObject);

Const

SIZE=5;

 

Var

a: array[l..SIZE] of integer; // массив целых

min: integer; // номер минимального элемента массива

i: integer; // номер элемента, сравниваемого с минимальным

 

Begin

// ввод массива

for i: =1 to SIZE do

a[i]: =StrToInt(StringGridl.Cells[i-1, 0]);

 

// поиск минимального элемента

min: =1; // пусть первый элемент минимальный

for i: =2 to SIZE do

if a[i]< a[min] then min: =i;

 

// вывод результата

label2.caption: ='Минимальный элемент массива: '

+IntToStr(a[min] +#13+'Номер элемента: '+ IntToStr(min);

 

End;

End.

 

На рис. 12 приведен вид диалогового окна приложения после щелчка на кнопке Поиск.

 

Рисунок 12 - Окно приложения Поиск минимального элемента массива

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.