Составить программку в паскале которая инспектирует наличие введенного слова в строке

Составить программку в паскале которая инспектирует наличие введенного слова в строке

Задать свой вопрос
1 ответ
program ee;
var
stroka, slovo: string;
i,j, k, n, m, l: integer;
begin
writeln(Введите строку: );
readln(stroka);
writeln(Введите слово:);
readln(slovo);
n:=length(stroka); Определяем длину строчки
writeln(n);
m:=length(slovo); Определяем длину слова
writeln(m);
for i:=1 to n-m+1 do Запускаем цикл с числом повторений равным длине строке за вычетом длины слова
begin
if stroka[i]=slovo[1] then
for j:=2 to m do
if stroka[i+j-1]=slovo[j] then k:=k+1;
if k=m-1 then
begin
writeln(Слово присутствует в строке!);
l:=1;
k:=0;
end
else k:=0;
end;
if llt;gt;1 then writeln(Такого слова в строке нет!);
readln;
end.

Если какой-то знак строчки совпал с первым эмблемой слова, то запускаем новый цикл с числом повторений равным длине искомого слова, и начиная в 2. Внутри этого цикла проверяем совпадение последующих знаков строчки с со всеми подряд знаками слова. Каждый раз, когда получаем совпадение, увеличиваем значение счетчика k на 1. Если все знаки совпали, то k будет одинаково значению длины слова минус 1. Если это условие выполняется для k, то можем считать, что искомое слово мы отыскали и выводим на экран известие об этом. Далее сразу обнуляем k, чтоб не было повторений. Тут же вводим параметр l=1, который потом будет критерием того, что слово мы отыскали. Счетчик k мы также обнуляем в случае, если совпадений было меньше чем длина слова минус 1.
Ну и после завершения этих интегрированных друг в друга циклов, проверяем значение l, если оно не совпадает с 1, то выводим известие о том, что искомое слово не найдено.
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт