Линейный поиск в массиве - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Дан массив размером в n элементов, необходимо в массиве найти символ, который задаст юзер. Я запилил поиск для чисел, а вот как для буковок или других символов сделать - не знаю. Товарищи, засапортте, по-братски

Решение задачи: «Линейный поиск в массиве»

textual
Листинг программы
uses crt;
const nmax=20;
var a:array[1..nmax] of char;
    i,n,idxi,k:integer;
    c:char;
begin
 repeat
  write('n=');
   readln(n);
 until n in [1..nmax];
 for i:=1 to n do
  readln(a[i]);
 writeln('ГЊГ*Г±Г±ГЁГў ñèìâîëîâ :');
 for i:=1 to n do
  write(a[i]:4);
 writeln;
 write('Ââåäèòå ñèìâîë = ');
  readln(c);   //Ââîäÿòñÿ ñòðî÷Г*ûå ГЎГіГЄГўГ»
  k:=0;
 for i:=1 to n do
  if a[i]=c then
   begin
    idxi:=i;
    inc(k);
    break;
   end;
 if k=0 then
  writeln('ÑèìâîëГ* ',c,' Г*ГҐГІГі..')
 else
  writeln('Ñèìâîë ',c,' ГҐГ±ГІГј ГҐГЈГ® ïîçèöèÿ i=',idxi);
end.

Объяснение кода листинга программы

Данный код выполняет линейный поиск в массиве.

  1. Сначала объявляются необходимые переменные: nmax (максимальное количество элементов в массиве), a (массив для хранения значений), i (индекс текущего элемента), n (количество элементов в массиве), idxi (индекс найденного элемента), k (счетчик найденных элементов). Также объявляется переменная c для чтения значения из массива.
  2. Затем идет цикл, который повторяется до тех пор, пока n не станет равным 0. В каждой итерации цикла пользователю предлагается ввести значение n.
  3. Далее происходит цикл for, который проходит по каждому элементу массива от 1 до n. Внутри этого цикла пользователь вводит значения для каждого элемента массива.
  4. После этого происходит проверка на равенство текущего элемента и c. Если они равны, то записывается индекс текущего элемента и увеличивается счетчик k.
  5. Если k равно 0, то выводится сообщение о том, что элемент не найден. В противном случае выводится сообщение с указанием индекса найденного элемента.
  6. Код завершается после выполнения всех циклов.

Оцени полезность:

7   голосов , оценка 4 из 5
Похожие ответы