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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.03.2008, 19:48   #1
pupil
 
Регистрация: 05.03.2008
Сообщений: 4
Стрелка работа с текстом

помогите решить задачу:задан текст , состоящий из нескольких строк,каждая в свою очередь состоит из слов, разделенных пробелами.
подсчитать кол-во слов в тексте,совпадающих с заданным ключевым словом. при проверке совпадения слов символ "*" (звездочка) в начале или в конце ключевого слова обрабатывать специальным образом: считать его признаком того , что в проверяемом слове на этом месте может находиться непустая последовательность произвольной длины, состоящая из любых символов кроме пробела. Можно считать , что символ "*" в ключевом слове встречаются толко один раз.
например, ключевое слово "кор*" будет совпадать со словами "корпус" , "корабль" и т.п , или слову "корпус" могут соответствовать ключвые слова "*пус" , "корп*" и т. п.
pupil вне форума Ответить с цитированием
Старый 14.03.2008, 20:14   #2
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Для поиска подстроки в строке есть функция pos
k:=pos('кор',s); - возвращает номер позиции в строке s с которой в этой строке идет подстрока 'кор'.
Если k=0, то подстрока не найдена.
_Dmitry вне форума Ответить с цитированием
Старый 14.03.2008, 21:01   #3
pupil
 
Регистрация: 05.03.2008
Сообщений: 4
По умолчанию

я это знаю но там есть условие
'кор*' соответствует 'корпус' , '*пус' соответствует 'корпус т.е положение этого ключевого слова в слове'
pupil вне форума Ответить с цитированием
Старый 14.03.2008, 21:11   #4
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Ну, и в чем проблема? Ищите это ключевое слово без звездочки в других словах...
_Dmitry вне форума Ответить с цитированием
Старый 15.03.2008, 14:00   #5
pupil
 
Регистрация: 05.03.2008
Сообщений: 4
По умолчанию

Program translation;
uses wincrt;
var w,str,s:array [1..100] of string[50];
kl:string;
i,n,k,z,j,l,q:integer;
y,p:array [1..43] of integer;
begin
write('n=');
readln(n);
write('kl=');
readln(kl);
for i:=1 to n do begin
write('str[',i,']=');
readln(str[i]);
str[i]:=str[i]+' ';
k:=0;
while str[i]<>'' do begin
p[i]:=pos(' ',str[i]);
if p[i]>1 then begin
k:=k+1;
w[k]:=copy(str[i],1,p[i]-1);
end;
delete(str[i],1,p[i]);
end;
end;
l:=0;
q:=pos('*',kl);
delete (kl,q,1);
for i:=1 to n do begin
for j:=1 to k do
y[j]:=pos(kl,w[j]);
if ((q=1) and (y[j]>1)) or
((q>1) and (y[j]=1)) then l:=l+1;end;
writeln (l);
end.

вот что у меня получилось,
но не ищет число таких слов, исправте пожалуйста!!!
pupil вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с текстом string LeoN Общие вопросы Delphi 13 24.09.2008 10:54
Работа с текстом Sanek_ntsk Общие вопросы C/C++ 10 12.01.2008 19:42
Работа с текстом wwww Общие вопросы Delphi 5 18.12.2007 17:23
Работа с текстом, в паскале. Cartman18 Помощь студентам 4 10.12.2007 18:06
работа с текстом (алгоритм шифрования) GAGARIN-NEW Компоненты Delphi 7 18.10.2007 09:48