Ты пытаешься сравнить один символ строки с целым словом. Это выполнялось бы, только если ch соcтояло бы из одного символа, иначе неверно в любом случае. Можешь сделать так: if S[i]=ch[1], и если это выполнится, то проверить следующие за i-м символы строки на совпадение с соответствующими символами ch. Попробуй доработать, если не получится - спрашивай, поможем. Хорошо, что уже что-то делал самостоятельно, в отличие от многих заходящих сюда
Автор: klem4 29.11.2005 13:00
способ 1 длинный :
Elisei, http://forum.pascal.net.ru/index.php?showtopic=6972 береш от туда любой способ, разбиваешь строку на массив слов, ну а дальше все элементарно !
способ 2 короткий :
uses crt; var s,sbs : string;
function GetCount(st, subst : string) : byte; var count : byte; begin count := 0; while(pos(subst, st) <> 0) do begin inc(count); delete(st, pos(subst,st), length(subst)); end;
GetCount := count; end;
begin
clrscr;
s := 'test testo toster'; sbs := 'st';
writeln('В строке ',s,' слово ',sbs, ' встречается ', GetCount(s,sbs),' раз'); readln end.
но второй способ всетаки не на вхождение слова в строку а на вхождение группы символов.
Автор: what are the side effects of tak 22.09.2021 10:26