Иллюстрированный самоучитель по Delphi 7 для начинающих

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

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

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

Диалоговое окно приложения поиска минимального элемента массива содержит соответствующим образом настроенный компонент stringGridi, который применяется для ввода элементов массива, два поля меток (Label1 и Label2), использующиеся для вывода информационного сообщения и результата работы программы, и командную кнопку (Button1), при щелчке на которой выполняется поиск минимального элемента массива. В табл. 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;
StringGrid1: 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[1..SIZE]of integer; // массив целых
min:integer; // номер минимального элемента массива
i:integer; // номер элемента, сравниваемого с минимальным
begin
// ввод массива for i: = 1 to SIZE do
a[i]:= StrToInt(StringGrid1.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 приведен вид диалогового окна приложения после щелчка на кнопке Поиск.

Иллюстрированный самоучитель по Delphi 7 для начинающих › Массивы › Поиск минимального (максимального) элемента массива
Рис. 5.8. Окно приложения Поиск минимального элемента массива

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.