В приведенной ниже программе решается следующая задача: случайным образом создается массив, а затем вводится элемент, который надо найти. Дальше предлагается выбрать метод поиска. И в результате получаем сообщение или о том, что элемента в массиве нет или выводится номер индекса этого элемента в массиве. Программа на языке Pascal ABC.
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 • Просмотров [ 1031 ]