Поиск в массиве заданного элемента

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 - Окно приложения Поиск минимального элемента массива

При решении многих задач возникает необходимость определить, содержит ли массив определенную информацию или нет. Например, проверить, есть ли в списке студентов фамилия Петров. Задачи такого типа называются поиском в массиве.

Для организации поиска в массиве могут быть использованы различные алгоритмы. Наиболее простой — это алгоритм простого перебора. Поиск осуществляется последовательным сравнением элементов массива с образцом до тех пор, пока не будет найден элемент, равный образцу, или не будут проверены все элементы. Алгоритм простого перебора применяется, если элементы массива не упорядочены.




double arrow
Сейчас читают про: