IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Поиск слова в данном тексте..., нужня помощ =\
Elisei
сообщение 29.11.2005 0:39
Сообщение #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
сообщение 29.11.2005 6:26
Сообщение #2


Прогрессор
****

Группа: Модераторы
Сообщений: 602
Пол: Мужской
Реальное имя: Михаил

Репутация: -  9  +


Цитата
if S[i]=ch
Ты пытаешься сравнить один символ строки с целым словом. Это выполнялось бы, только если ch соcтояло бы из одного символа, иначе неверно в любом случае.
Можешь сделать так: if S[i]=ch[1], и если это выполнится, то проверить следующие за i-м символы строки на совпадение с соответствующими символами ch. Попробуй доработать, если не получится - спрашивай, поможем. Хорошо, что уже что-то делал самостоятельно, в отличие от многих заходящих сюда smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 29.11.2005 9:00
Сообщение #3


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


способ 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";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 25.07.2025 3:15
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"