Определить количество латинских букв 'c' в строке - Pascal ABC
Формулировка задачи:
Дается строка
S
. Определить количество латинских букв 'c' в строке с помощью рекурсивной функции. Помогите пожалуйстаРешение задачи: «Определить количество латинских букв 'c' в строке»
textual
Листинг программы
function sim(s:string;c:char):byte; begin if pos(c,s)>0 then begin delete(s,pos(c,s),1); sim:=1+sim(s,c) end else sim:=0; end; var s:string; begin readln(s); write(sim(s,'c')); end.
Объяснение кода листинга программы
- Создаётся функция под названием
sim, которая принимает два аргумента:s(строка) иc(символ). - В функции используется оператор
if...thenдля проверки того, есть ли в строкеsсимволc. - Если символ
cприсутствует в строкеs, то с помощью оператораdeleteудаляется этот символ из строкиs. - Затем вызывается рекурсивно функция
simдля оставшейся части строкиsи символаc. - Если символ
cотсутствует в строкеs, то значение переменнойsimустанавливается равным нулю. - В основной части программы с помощью функции
readlnсчитывается строкаs. - Затем с помощью функции
writeвыводится значение переменнойsim, которое представляет собой количество латинских буквcв строкеs.