
Борков
7 год назад
Помогите с Паскалем, пожалуйста!
С клавиатуры вводятся строки s и s1. Узнайте, сколько раз s1 встречается в s. Оформите решение задачи в виде функции.
ОТВЕТЫ

Кусаков
Aug 15, 2019
Var
s,s1:string;
i,n,n1,k,p:integer;
begin
Write(Введите строку: ); Readln(s); n:=Length(s);
Write(Введите подстроку: ); Readln(s1); n1:=Length(s1);
k:=0; i:=1;
while ilt;=n-n1+1 do begin
p:=pos(s1,s,i);
if pgt;0 then begin Inc(k); i:=p+n1 end
else i:=n; { для выхода }
end;
Writeln(s1, встречается в ,s, ,k, раз(а))
end.
Пример
Введите строку: Наша Таня громко плачет: уронила в речку мячик
Введите подстроку: ро
ро встречается в Наша Таня громко плачет: уронила в речку мячик 2 раз(а)
s,s1:string;
i,n,n1,k,p:integer;
begin
Write(Введите строку: ); Readln(s); n:=Length(s);
Write(Введите подстроку: ); Readln(s1); n1:=Length(s1);
k:=0; i:=1;
while ilt;=n-n1+1 do begin
p:=pos(s1,s,i);
if pgt;0 then begin Inc(k); i:=p+n1 end
else i:=n; { для выхода }
end;
Writeln(s1, встречается в ,s, ,k, раз(а))
end.
Пример
Введите строку: Наша Таня громко плачет: уронила в речку мячик
Введите подстроку: ро
ро встречается в Наша Таня громко плачет: уронила в речку мячик 2 раз(а)
280
Смежные вопросы: