uses Arrays;
// Поиск

// С помощью for
function Find(a: array of T; x: T): integer;
begin
 Result := -1;
 for var i := 0 to a.Length - 1 do
 if a[i] = x then
 begin
 Result := i;
 break;
 end;
end;

// С помощью while
function FindWhile(a: array of T; x: T): integer;
begin
 var n := a.Length;
 var i := 0;
 while (ix) do
 i += 1;
 if i=n then
 Result := -1
 else Result := i;
end;

begin
 var a: array of integer := CreateRandomIntegerArray(10);
 
 writeln('Исходный массив: ');
 a.Writeln;
 
 write('Введите элемент, который необходимо найти: ');
 var x: integer := ReadInteger;
 
 writeln;
 writeln('Метод поиска с помощью for с break');
 var ind := Find(a,x);
 if ind=-1 then
 writelnFormat('Элемент {0} не найден',x)
 else writelnFormat('Элемент {0} найден, его индекс = {1}',x,ind);

 writeln;
 writeln('Метод поиска с помощью while без break');
 ind := FindWhile(a,x);
 if ind=-1 then
 writelnFormat('Элемент {0} не найден',x)
 else writelnFormat('Элемент {0} найден, его индекс = {1}',x,ind);
end. 


 Похожие публикации
2015-11-04 • Просмотров [ 214 ]