Вниз
Скачать: 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.014 c
15-1180505544
Эй.
2007-05-30 10:12
2007.06.24
FreeBSD


15-1179666849
Riply
2007-05-20 17:14
2007.06.24
Задачка по термодинамике(а, может и не по ней :).


2-1180593796
Soi_
2007-05-31 10:43
2007.06.24
Сортировка данных


2-1180949897
TStas
2007-06-04 13:38
2007.06.24
Почему у TObject а constructor static, а destructor - dynamic?


15-1180464954
Иксик
2007-05-29 22:55
2007.06.24
.NET 2.0 web.config




   Наверх