Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
1-1177328322
Ганна Юхимівна
2007-04-23 15:38
2007.06.24
Операции с данными класса - как организовать ?


2-1180337637
Rimd
2007-05-28 11:33
2007.06.24
TDownloadUrl и его Event


15-1179931482
partizan
2007-05-23 18:44
2007.06.24
Задача по выч. геометрии


2-1180688198
Alex7
2007-06-01 12:56
2007.06.24
Message при компиляции: Unit FileCtrl is specific to a platform


11-1162961828
avs
2006-11-08 07:57
2007.06.24
Bmp.StretchDrawTransparent




   Наверх