Param38. Описать функцию PosLast($$S_0$$, $$S$$) целого типа, возвращающую номер позиции, начиная с которой в строке $$S$$ содержится последнее вхождение подстроки $$S_0$$. Считать, что перекрывающихся вхождений подстрок $$S_0$$ строка $$S$$ не содержит. Если в строке $$S$$ отсутствуют подстроки $$S_0$$, то функция возвращает $$0$$. Вывести значения этой функции для пяти данных пар строк $$S_0$$ и S.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
program Param38; type St=String; var S,S0:St; i:integer; Function PosLast(S0,S:St):Integer; var i:integer; Stemp:St; begin i:=1;//тут надо i:=0; Stemp:=S; While Pos(S0,Stemp)>0 do begin i:=i+Pos(S0,Stemp); Stemp:=Copy(S,i+1,Length(S)); end; PosLast:=i; end; begin for i:=1 to 5 do begin Write('S:'); Readln(S); Write('S0:'); Readln(S0); Writeln(PosLast(S0,S)); end; end. |
Другие задачи из раздела Param можно посмотреть здесь.
Комментарии:
Комментарии 1