Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.06.24;
Скачать: CL | DM;

Вниз

Помогите с алгоритмом поиска...   Найти похожие ветки 

 
deras ©   (2007-05-31 23:17) [0]

Есть текстовый файл. Мне надо найти строку, которая содержит подстроку "[]" и в то же время "запомнить" предыдущую строку и следующую.


 
default ©   (2007-05-31 23:26) [1]

ну очевидное решение это читать текстовый файл построчно, храня на каждом этапе считывания строки значение текущей строки и предыдущей
на каждом этапе проверяем на "[]" текущую строку и если есть читаем ещё следующую строку и выходим


 
deras ©   (2007-05-31 23:32) [2]

>на каждом этапе проверяем на "[]" текущую строку и если есть читаем ещё следующую строку и выходим

уточняю вопрос. Если таких строк много и не надо выходить из цикла, а проверять далее?


 
default ©   (2007-05-31 23:36) [3]

примерный псевдокод

предыдущая строка = пусто
текущая строка = пусто
флаг успешности поиска = ложь
пока (не конец файл)
  предыдущая строка = текущая строка
  текущая строка = СчитатьИзФайлаСледующуюСтроку(имя файла)
  если (текущая строка содержит "[]) тогда
    третья строка = пусто
    если (не конец файла) то третья строка =    
           СчитатьИзФайлаСледующуюСтроку(имя файла)
    флаг успешности поиска = истина
    выйти из цикла "пока"
  конец если
конец пока

если (флаг успешности = истина) тогда ....


 
default ©   (2007-05-31 23:38) [4]

deras ©   (31.05.07 23:32) [2]
а файл большой, может в TStringList загрузить да и не париться?


 
default ©   (2007-05-31 23:43) [5]

и если таких строк может быть много то же никаких проблем, чуть потправить псевдокод и делов


 
deras ©   (2007-05-31 23:44) [6]

>а файл большой, может в TStringList загрузить да и не париться?

небольшой. Как реализовать загрузку в TStringList и упростит ли это алгоритм поиска?


 
default ©   (2007-05-31 23:49) [7]

deras ©   (31.05.07 23:44) [6]
алгоритм упростится
в данной случае думаю стоит обойтись без TStringList(хотя опять же зависит от того что за задача у тебя какие требования и тд....)
а задачу можно поподробней?


 
default ©   (2007-05-31 23:51) [8]

загрузка делается через TStringList.LoadFromFile



Страницы: 1 вся ветка

Текущий архив: 2007.06.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.022 c
1-1177748673
bss
2007-04-28 12:24
2007.06.24
Как сменить шрифт у контрола, который нe доступен (Enabled false)


2-1180234804
vegarulez
2007-05-27 07:00
2007.06.24
Пинг, TIdIcmpClient, except.


11-1163272588
kolusr
2006-11-11 22:16
2007.06.24
KOLSocket свойство Сount


3-1175167503
nick_van_rijn
2007-03-29 15:25
2007.06.24
ошибка начала транзакции


15-1180348932
Думкин
2007-05-28 14:42
2007.06.24
CodeGear Новосибирск