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

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


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


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


Таблица 5.4. Значения свойств компонента stringGrid1





































Свойство


Значение


ColCount


005


FixedCols


000


RowCount


001


DefaultRowHeight


024


Height


024


DefaultColWidth


064


Width


328


Options . goEditing


True


Options . AlwaysShowEditing


True


Options .goTabs


True


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


Листинг 5.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.


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



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

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: