Дана символьная строка. Подсчитать в ней количество вхождений букв г, k, t.
Использую 2 версии паскаля, но код работает неверно в обоих. алгоритм if s[i]=x then find:=p+1; всегда равен 1, а если буквы в строке нет, то значение выставляется 85 в одной версии и 93 в другой 0_о. Где мой косяк?
function find(x:string):byte;
var p:byte;
begin
for i:=1 to length(s) do
if s[i]=x then p:=p+1;
find:=p;
end;
Ozzя
Спасибо!!!
function find(x: char):byte;И понятнее, что от функции требуется, и оградит тебя от проблем, скажем, при попытке посчитать слова, а не буквы:
s := 'Вот это да!!!';(раз написано, что принимает строку, даже не сомневайся, кто-нибудь все равно в эту функцию строку передаст. А ты делай так, чтоб ошибка возникнуть вообще не могла).
writeln('Слов "да": ', find('да'));