Поиск элемента в массиве

Одна из важных невычислительных задач — поиск данного значения среди элементов массива, Такой поиск называется также поиском по ключу. На практике поиск осуществляется в упорядоченном массиве, причем имеются различные алго­ритмы поиска. В данном примере осуществим поиск путем сплошного перебора. Если элемент найден, то напечатаем его номер, если нет, то выдадим соответствующее сообщение. Су­щественным является то, какой из одинаковых элементов массива, равных данному, нас интересует: первый встретив­шийся при поиске или последний. В этом примере будем ис­кать первый. Поиск осуществляется в цикле, и как только элемент найден, надо выйти из цикла. Для досрочного выхода из цикла for используем оператор goto. Если досрочный выход не произойдет, то значит, элемент, равный данному, в масси­ве отсутствует. В таком случае выдача сообщения об отсутст­вии элемента происходит сразу после цикла поиска. Следова­тельно, чтобы обойти печать номера элемента, надо использо­вать еще один оператор goto и еще одну метку в программе.

Программа поиска данного элемента в массиве:

program Р15;

label 1,2;

const n = 7;

var a: array [1.. n ] of real; x: real; i: integer;

Begin

writeln (‘введите элементы массивов’);

for i: = 1 to n do

read (a [ i ]);

writeln;

write (‘введите число для поиска в массиве, х = ‘);

readln (х);

for i: = 1 to n do

if a [ i ] = x then goto 1;

writeln (‘такого числа в массиве нет’);

goto 2;

1: write (‘номер элемента массива, равного данному ‘, i);

2: end.

Если искать не первый по порядку равный ключу элемент, а последний, то надо использовать цикл обратного пересчета: for i: = n downto 1 do.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: