Помогите дописать прогу по поиску подстроки в строке, т.к. возникли небольшие проблемы с типом переменных да и не запускается... - Pascal

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

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

Решение задачи: «Помогите дописать прогу по поиску подстроки в строке, т.к. возникли небольшие проблемы с типом переменных да и не запускается...»

textual
Листинг программы
program Project1;
 
var
  S, Sw : String;
  i, j, Len1, Len2, Cnt : Integer;
begin
  repeat
    Writeln('Задайте строку:');
    Readln(S);
    Writeln('Задайте искомую подстроку:');
    Readln(Sw);
 
    Len1 := Length(S);
    Len2 := Length(Sw);
    Cnt := 0;
    for i := 1 to Len1 - Len2 + 1 do begin
      j := 1;
      while j <= Len2 do begin
        if S[i + j - 1] <> Sw[j] then Break;
        Inc(j);
      end;
      if j > Len2 then begin
        Inc(Cnt);
        Writeln('Найдено вхождение №', Cnt, '. Позиция: ', i);
      end;
    end;
 
    Writeln('Повторить - Enter. Выход - любой символ + Enter.');
    Readln(S);
  until S <> '';
end.

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

  1. Объявлены переменные: S, Sw (строки), i, j, Len1, Len2, Cnt (целые числа).
  2. Цикл repeat, который будет выполняться до тех пор, пока пользователь не введет пустую строку.
  3. В каждой итерации цикла пользователю предлагается ввести строку и искомую подстроку.
  4. Вычисляются длины строки S и искомой подстроки Sw.
  5. Переменная Cnt инициализируется нулем.
  6. Цикл for i := 1 to Len1 - Len2 + 1 выполняет перебор возможных начальных позиций подстроки в строке S.
  7. Внутри цикла for запускается цикл while j <= Len2, который завершается при несовпадении символов или достижении конца подстроки.
  8. Если символы совпадают, то переменная j инкрементируется.
  9. Если цикл while завершился, то проверяется, было ли найдено совпадение. Если да, то увеличивается счетчик Cnt и выводится сообщение с номером вхождения и позицией.
  10. После завершения цикла for, пользователю предлагается ввести символ для продолжения или выхода из программы.
  11. Цикл repeat продолжается до тех пор, пока пользователь не введет пустую строку.
  12. Программа завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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