Написать программу поиска номера элемента массива, принадлежащего заданному промежутку...

0 голосов
109 просмотров

Написать программу поиска номера элемента массива, принадлежащего заданному
промежутку [1, 5], используя линейный поиск.
Решить на PascalABC.NET
Оформить в виде процедуры.


Информатика (342 баллов) | 109 просмотров
0

Линейный поиск - это просто "перебирай по порядку, пока не найдешь или не закончится массив"

0

Да

Дан 1 ответ
0 голосов
Правильный ответ

// 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]

(142k баллов)
0

Обратите внимание: отыскивается не индекс элемента, а его порядковый номер. Индексация в данном случае тут от нуля.

0

Я ничего не понял)Как вы смогли понять язык паскаля ?

0

Главное работает))

0

Язык Паскаля - французский ))) А названный в честь Блёза Паскаля язык, называется Паскаль и не склоняется.

0

Если Вы "ничего не поняли" - то лишь означает, что не занимались этим предметом должным образом.

0

Какие умные слова)

0

Ну в любом случае лучше, чем когда пишут кому-то, не зная ситуации, что он тупой.

0

Полностью с вами согласен