Разработать программу поиска нужного элемента в массиве целых чисел Перебор элементов массива осуществляется инструкцией repeat в теле которой инструкция IF сравнивает текущий элемент массива с образцом и присваивает переменной found значение true если текущий элемент и образец равны

TheLidiKotic12 TheLidiKotic12    2   16.04.2021 12:41    0

Ответы
aniadark aniadark  16.05.2021 12:43

unit s_found_;

interface

uses

 Windows, Messages, SysUtils, Classes,

 Graphics, Controls, Forms, Dialogs,

 StdCtrls, Grids;

type

 TForm1 = class(TForm)

   Label1: TLabel;

   Label2: TLabel;

   Button1: TButton;

   Edit2: TEdit;

   StringGridi: TStringGrid;

   procedure ButtonlClick(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

end;

var

Form1: TForm1 ;

implementation

{$R *.DFM}

{ поиск в массиве перебором }

procedure TForml.ButtonlClick(Sender: TObject);

const

 SIZE = 5;

var

 a: array[1..SIZE] of integer; //массив

 obr: integer; // образец для поиска

 found: boolean; // TRUE — совпадение образца с элементом массива

 i: integer; // индекс элемента массива

begin

 // ввод массива for i:=l to SIZE do

 a[i] := StrToInt(StringGridl.Cells[i - 1, 0]);

 // ввод образца для поиска

 obr := StrToInt(edit2.text);

 // поиск

 found := FALSE; // пусть нужного элемента в массиве нет

 i := 1;

 repeat

   if a[i] = obr then

     found := TRUE

   else

     i := i + 1;

 until (i > SIZE) or (found = TRUE);

 if found then

   ShowMessage('Совпадение с элементом номер '

     + IntToStr(i) + #13 + 'Поиск успешен.')

 else

   ShowMessage('Совпадений с образцом нет.');

end;

end.

Объяснение:

Очевидно, что чем больше элементов в массиве и чем дальше расположен нужный элемент от начала массива, тем дольше программа будет искать необходимый элемент.

Поскольку операции сравнения применимы как к числам, так и к строкам, данный алгоритм может использоваться для поиска как в числовых, так и в строковых массивах.

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика