//Поиск с барьером
uses Arrays;

function FindWithBarrier(a: array of T; n: integer; x: T): integer;
begin
 Assert((0 < n) and (n < a.Length));
 a[n] := x; // последний элемент - барьер
 var i := 0;
 while a[i] <> x do
 i += 1;
 if i = n then
 Result := -1
 else Result := i;
end;

const n = 11;

begin
 var a: array of integer := CreateRandomIntegerArray(11);
 // Зарезервируем последний элемент массива для «барьера»
 
 writeln('Исходный массив: ');
 for var i:=0 to a.Length-2 do
 write(a[i], ' ');
 writeln; 
 
 write('Введите элемент, который необходимо найти: ');
 var x: integer := ReadInteger;
 
 var ind := FindWithBarrier(a, 10, x);
 
 if ind = -1 then
 Writeln('Элемент не найден')
 else Writeln('Индекс искомого элемента: ', ind);
end.


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