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

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

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



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