Написать программу поиска номера элемента массива, принадлежащего заданному промежутку [1, 5], используя линейный поиск. решить на pascalabc.net оформить в виде процедуры.
// PascalABC.NET 3.1, сборка 1250 от 28.05.2016 procedure LinearSearch(a,b:integer;M:array of integer; var num:integer); // num - номер по порядку первого элемента массива М, // находящегося на [a;b] или 0, если такого элемента нет begin num:=0; for var i:=0 to Length(M)-1 do if M[i] in [1..5] then begin num:=i+1; break end end;
begin var a:=ArrRandom(ReadInteger('n='),-99,99); a.Println; var i:integer; LinearSearch(1,5,a,i); if i>0 then Writeln('Элемент номер ',i,' принадлежит [1;5]') else Writeln('Нет элементов, принадлежащих [1;5]') end.
Тестовое решение n= 15 -96 50 20 -2 3 77 -48 15 99 -53 42 -45 24 44 51 Элемент номер 5 принадлежит [1;5]
procedure LinearSearch(a,b:integer;M:array of integer;
var num:integer);
// num - номер по порядку первого элемента массива М,
// находящегося на [a;b] или 0, если такого элемента нет
begin
num:=0;
for var i:=0 to Length(M)-1 do
if M[i] in [1..5] then begin num:=i+1; break end
end;
begin
var a:=ArrRandom(ReadInteger('n='),-99,99); a.Println;
var i:integer;
LinearSearch(1,5,a,i);
if i>0 then Writeln('Элемент номер ',i,' принадлежит [1;5]')
else Writeln('Нет элементов, принадлежащих [1;5]')
end.
Тестовое решение
n= 15
-96 50 20 -2 3 77 -48 15 99 -53 42 -45 24 44 51
Элемент номер 5 принадлежит [1;5]