End.
Begin
Var
Const
Implementation
Var
Public
Private
Type
Interface
Windows, Messages, SysUtils, Classes, Graphics,
Controls, Forms, Dialogs, StdCtrls, Grids;
TForm1 = class(TForm)
Label1: TLabel;
Button1: TButton;
Label2: TLabel;
StringGridl: TStringGrid;
procedure ButtonlClick(Sender: TObject);
{ Private declarations)
{ Public declarations }
end;
Form1: TForm1;
{$R *.DFM}
procedure TForm1.ButtonlClick(Sender: TObject);
SIZE=5;
a:array[l..SIZE] of integer; // массив целых
min:integer; // номер минимального элемента массива
i:integer; // номер элемента, сравниваемого с минимальным
// ввод массива
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;
На рис. 12 приведен вид диалогового окна приложения после щелчка на кнопке Поиск.
Рисунок 12 - Окно приложения Поиск минимального элемента массива
При решении многих задач возникает необходимость определить, содержит ли массив определенную информацию или нет. Например, проверить, есть ли в списке студентов фамилия Петров. Задачи такого типа называются поиском в массиве.
|
|
Для организации поиска в массиве могут быть использованы различные алгоритмы. Наиболее простой — это алгоритм простого перебора. Поиск осуществляется последовательным сравнением элементов массива с образцом до тех пор, пока не будет найден элемент, равный образцу, или не будут проверены все элементы. Алгоритм простого перебора применяется, если элементы массива не упорядочены.