function CntCharInStr(
InputStr: string;// то что набрал юзер, лежит в S, напр. 'мама мыла раму'
InputChar: char // нужный знак, лежит в B, напр. 'а'
): integer; искомое кол-во вхождений, будет равно 4м
var
i: integer;// счётчик интераций цикла
begin
result:= 0;
if length(InputStr) >0 {< условие >} then
{< оператор 1 >}
begin
// здесь нужно циклом перебирать
for i := 1 to length(InputStr) {равно N из задания} do
if InputStr = InputChar then // совпадение
inc(result);
end else
{< оператор 2 >}
Exit;
end;
Очень нужна помощь!!!Помогите пожалуйста!!!
Нужно написать программу в паскале, ломаю голову никак не получается....
Вот условие:
Ввести с клавиатуры текст длиной N символов и вычислить количество вхождений в него интересующего Вас символа.
необходимо использовать :
1. IF < условие > THEN < оператор 1 >
2. IF < условие > THEN < оператор 1 > ELSE < оператор 2 >
или
CASE < ключ выбора > OF <список выбора > END
или
CASE < ключ выбора > OF < список выбора > ELSE < оператор > END
Прям по полочкам:
Цитата:
...Нужно написать программу в паскале...
Проги пишут на паскале, "в" ЯП не получится, туды тiлки ходют:D
Делфийцу с опытом ООП работа с операторами "чистого" паскаля - тёмный лес, но попробую объяснить логику задания:
Цитата:
Ввести с клавиатуры текст длиной N символов и вычислить количество вхождений в него интересующего Вас символа.
т.е. сначало нужно вывести на экран запрос для пользователя ("Наберите текст:" и "Введите символ:") на ввод некоего текста и нужного символа, а после того как он это сделает передать набранное в виде переменных (например, S: string; B:Char) нижеприведённой функции на подсчёт и вывести результат на экран - 'Количество вхождений символа '+ B + 'равно:'+ inttostr(CntCharInStr(S,B)) :
Код:
Как сделать вывод на экран я - хз, что-то типа Write('Hello, master !'), так что пожалуйста, ищите сами, примеров этого у нас на коденете много, а вот как здесь кейсом орудовать, ума не приложу, даже вариантов нет! :-)
Надеюсь, что это поможет!
З.Ы.
Цитата:
CASE < ключ выбора > OF < список выбора > ELSE < оператор > END
CASE < ключ выбора > OF < список выбора > end ELSE < оператор >
используй ф-цию POS(st1, st2: string[..]) показывает первое вхождение st1 в st2. т.е просто прописываешь n:=Pos(нужный символ, введенная строка). Далее удаляешь кусок строки delete(st2,1,n) и добавляешь счетчик вхождений, например, k. k:=k+1 когда удалил кусок...