Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.04.2014, 19:29   #1
vadimmmm
Пользователь
 
Регистрация: 03.03.2014
Сообщений: 15
Сообщение Подсчитать количество определенных слов в тексте

Помогите, хочу посчитать количество определенных слов в тексте например "какой" и потом вывести их количество
vadimmmm вне форума Ответить с цитированием
Старый 10.04.2014, 19:41   #2
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Можно так.. Не проверял..
Код:
function PosWrd(substr, s : string) : Integer;
var
     t : Integer;
begin
         t := Pos(substr, s);
         if t > 0 then
              PosWrd := 1 + PosWrd(substr, Copy(s, t+1, Length(s)))
         else
              PosWrd := 0
end;
UPDATE шушуть поправил

Последний раз редактировалось Poma][a; 10.04.2014 в 20:03.
Poma][a вне форума Ответить с цитированием
Старый 10.04.2014, 22:04   #3
vadimmmm
Пользователь
 
Регистрация: 03.03.2014
Сообщений: 15
По умолчанию

немного не понял, а прога ищет количество S?
vadimmmm вне форума Ответить с цитированием
Старый 10.04.2014, 22:18   #4
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Не..
s - где ищем
substr - что ищем..
Poma][a вне форума Ответить с цитированием
Старый 10.04.2014, 22:40   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Этим кодом ищется не слово, а сочетание символов в тексте
1. В предложении Как стать макакой слово какой найдется 1 раз, но его там нет
2. В предложении Какой я плохой слово какой найдется 0 раз, но оно там есть
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 11.04.2014, 07:49   #6
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Ага.. Есть такое...
Код:
var
	s, substr : string;
	i, j, cnt : Integer;

begin
	ReadLn(s);
	ReadLn(substr);

	cnt := 0;

	s := ' '+s+' ';
	for i := 2 to Length(s)-Length(substr)+1 do
		if (UpCase(s[i]) = UpCase(substr[1])) and (s[i-1] in ['!', '.', ' ', ',' ,'-']) and (s[i+Length(substr)] in [' ', '!', '.', ',']) then begin
			j := 2;
			while (j <= Length(substr)) and (UpCase(s[i+j-1]) = UpCase(substr[j])) do
                                Inc(j);
			cnt := cnt + Ord(j = Length(substr)+1)
	end;
	WriteLn(cnt)

end.
А так?
Poma][a вне форума Ответить с цитированием
Старый 11.04.2014, 09:05   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Это ближе к телу. Как в паскале UpCase с кириллицей? В дельфи ни как. Заменил на AnsiUpperCase - стало как. И лучше до цикла сразу обе строки привести к одному регистру. Знаки препинания дополнить '?'.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 11.04.2014, 13:53   #8
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
Это ближе к телу. Как в паскале UpCase с кириллицей? В дельфи ни как. Заменил на AnsiUpperCase - стало как. И лучше до цикла сразу обе строки привести к одному регистру.
Плохо.. Забыл сказать.. Нужно или с widechar'ами баловаться.. либо свой писать..
Цитата:
Знаки препинания дополнить '?'
Ну тогда и ':', и '(', и еще 100500 символов..
Poma][a вне форума Ответить с цитированием
Старый 11.04.2014, 17:23   #9
vadimmmm
Пользователь
 
Регистрация: 03.03.2014
Сообщений: 15
По умолчанию

А например простую прогу которая считывает текст который ввел пользователь потом пользователь вводит слово которое искать, а программа подсчитывает из количество в тексте
vadimmmm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подсчитать количество слов в строке Chainik! Общие вопросы C/C++ 31 10.04.2016 01:55
задачи по паскалю: в строке, состоящей из слов подсчитать количество слов на заданный символ; нарисовать пирамидку Sasha_KS Паскаль, Turbo Pascal, PascalABC.NET 1 18.03.2014 22:00
Подсчитать количество слов и количество букв MDSIQ Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 13.11.2010 16:57
количество слов в тексте almareta Помощь студентам 3 01.04.2010 20:59
Составить в алфавитном порядке список всех слов, встречающихся в тексте, и количество этих слов. KAPAHDAW Паскаль, Turbo Pascal, PascalABC.NET 2 17.02.2009 01:19