![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Elisei |
![]()
Сообщение
#1
|
Гость ![]() |
Задание: Дан текст и слово, найти сколько раз данное слово встречается в тексте.
то что у меня получилось но непашет=\ Код program CountX; Const n=100; ch='б«®ў®'; Var i : Integer; count:Integer; S : Array [1 .. n] of char; Begin writeln ('‚Введите текст'); for i:=1 to n do read(S[i]); count:=0; for i:=1 to n do if S[i]=ch then count:=count +1; writeln ('слово "' , ch, '" встречаеться в тексте ' , count, ' раз'); end. Сообщение отредактировано: Elisei - 29.11.2005 0:42 |
Atos |
![]()
Сообщение
#2
|
![]() Прогрессор ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 602 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
Цитата if S[i]=ch Ты пытаешься сравнить один символ строки с целым словом. Это выполнялось бы, только если ch соcтояло бы из одного символа, иначе неверно в любом случае. Можешь сделать так: if S[i]=ch[1], и если это выполнится, то проверить следующие за i-м символы строки на совпадение с соответствующими символами ch. Попробуй доработать, если не получится - спрашивай, поможем. Хорошо, что уже что-то делал самостоятельно, в отличие от многих заходящих сюда ![]() |
klem4 |
![]()
Сообщение
#3
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
способ 1 длинный :
Elisei, Как разбить строку на массив слов, все способы береш от туда любой способ, разбиваешь строку на массив слов, ну а дальше все элементарно ! способ 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.
но второй способ всетаки не на вхождение слова в строку а на вхождение группы символов. -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
![]() ![]() |
![]() |
Текстовая версия | 25.07.2025 3:15 |