Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

поиск в строке


nonamez11 ©   (2008-12-16 16:52:00) 

всем драсти..может кто нибудь поможет с простым вопросом по Delphi???
задание такое,типа дана строка,например вводим в Edit,слова в строке разделены пробелами.И надо посчитать количество слов,содержащих букву м.я начал чо то писать,но он тока первое слово проверяет,дальше не знаю как цикл организовать,не получается..вот что есть

function TForm1.find(S:String):integer;
var
q,slovo:string;
i,j,k:integer;
a:integer;
kolvo:integer;
begin
kolvo:=0;
i:=Pos(' ',S);
a:=Length(S);
if i0 then
begin
q:=Copy(S,i+1,Length(S));
j:=Pos(' ',q);
slovo:=Copy(q,0,j-1);
k:=Pos('ì',slovo);
if k0 then kolvo:=kolvo+1;
s:=Copy(q,j,a);
Result:=kolvo;

endж

end;


nonamez11   (2008-12-16 17:42:00) [1]

спасибо за помощь)с меня пиво


Правильный$Вася   (2008-12-16 17:40:00) [2]


>  в цикле проверять каждый символ?эт не слишком накладно
> в плане производительности?

Pos делает то же самое
а копирование участков строки гораздо накладнее проверки символов


Сергей М.   (2008-12-16 17:38:00) [3]

вот это "чо" - http://regexpstudio.com/RU/TRegExpr/TRegExpr.html


nonamez11   (2008-12-16 17:35:00) [4]

СтрингЛист то я знаю.а вот TRegExpr чо хз)


Сергей М.   (2008-12-16 17:28:00) [5]


> не знаю чо эта


Можно подумать? что ты знаешь "чо эта - TStringList")


nonamez11   (2008-12-16 17:24:00) [6]

я не знаю чо эта)


Сергей М.   (2008-12-16 17:14:00) [7]


> скорее препод


ну предложи преподу TRegExpr)

Решение в 3 строки текста, никаких TStringList и циклы присутствуют)


nonamez11   (2008-12-16 17:12:00) [8]

то есть просто в цикле проверять каждый символ?эт не слишком накладно в плане производительности?


Правильный$Вася   (2008-12-16 17:11:00) [9]

никаких Pos, Copy и т.п. нафиг не надо


Правильный$Вася   (2008-12-16 17:10:00) [10]

организуешь перебор символов строки
каждый проверяешь на нужную букву или разделитель
если буква нужная попалась и флаг наличия буквы еще пустой, инкрементируешь счетчик слов с буквой и выставляешь флаг
если попался разделитель слов, сбрасываешь флаг наличия буквы


nonamez11   (2008-12-16 17:08:00) [11]

скорее препод


Сергей М.   (2008-12-16 17:05:00) [12]


> мне без этого надо обойтись


Коран не велит ?)


nonamez11   (2008-12-16 17:03:00) [13]

нет мне без этого надо обойтись,т.е искать в одной строке...надо прост как то зациклить..
пробовал repeat until,не пашет..не знаю блин как зациклить


Правильный$Вася   (2008-12-16 16:55:00) [14]

TStringList


Наверх

Титульная страница Поиск, карта сайта Написать письмо