![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Поиск минимального (максимального) элемента массива
Задачу поиска минимального элемента массива рассмотрим на примере массива целых чисел. Алгоритм поиска минимального (максимального) элемента массива довольно очевиден: сначала делается предположение, что первый элемент массива является минимальным (максимальным), затем остальные элементы массива последовательно сравниваются с этим элементом. Если во время очередной проверки обнаруживается, что проверяемый элемент меньше (больше) принятого за минимальный (максимальный), то этот элемент становится минимальным (максимальным) и продолжается проверка оставшихся элементов. Диалоговое окно приложения поиска минимального элемента массива содержит соответствующим образом настроенный компонент 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 - Окно приложения Поиск минимального элемента массива
|