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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.04.2010, 00:53   #1
Toha_88
 
Регистрация: 21.04.2010
Сообщений: 3
По умолчанию Алгоритм сортировки строк в Memo

Доброго времени суток.
Помогите решить проблему. Есть поле MEMO в которое загружаются строки вида: D0328041.023
D0329041.023
T 0430042.023

D032904s.023
Как организовать сортировку по первому символу с удалением строк, не удовлетворяющих условию. Пишу:
Код:
FOR i:=0 to Memo1.Lines.Count-1 do
        BEGIN
        STemp := Memo1.Lines.Strings[i];
        if STemp = '' Then Break;
        if (STemp[1] <> TIP[t]) then Memo1.Lines.Delete(i);
        END;
Но коректно не работает.
TIP[t] = масив несёт значения D,T,Q,H,W
Спасибо.

Последний раз редактировалось Stilet; 29.04.2010 в 10:20.
Toha_88 вне форума Ответить с цитированием
Старый 29.04.2010, 08:58   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,528
По умолчанию

Код:
i:=0;
while i<Memo1.Lines.Count do
        BEGIN
        STemp := Memo1.Lines.Strings[i];
        if STemp = '' Then Break;
        if (STemp[1] <> TIP[t]) then Memo1.Lines.Delete(i)
{ после удаления строка с номером i+1 становится с номером i
и общее количество строк уменьшается (поэтому while так как for вычисляет свои 
границы только один раз в начале и в результате имеем неправильные 
границы и нарушение работы программы (AV) )}
else i:=i+1;
        END;
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось Stilet; 29.04.2010 в 10:21.
evg_m вне форума Ответить с цитированием
Старый 29.04.2010, 10:08   #3
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Toha_88, сортировать строки умеет TStringList.
Вот образец:
http://delphiworld.narod.ru/base/memo_sort.html
А уже потом удаляешь из него все что тебе не нравится.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 29.04.2010, 11:29   #4
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Класс TStringList умеет сортировать, а класс TStrings умеет еще и удалять... А класс TStringList объединяет в себе свойства класса TStrings...
Toha_88, а вот цикла я бы тебе посоветовал организовывать не в прямом направленнии, а в обратном

Код:
FOR i:=Memo1.Lines.Count-1 downto 0 do
Зачем именно так, подумай сам...
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Старый 29.04.2010, 14:20   #5
Toha_88
 
Регистрация: 21.04.2010
Сообщений: 3
По умолчанию

evg_m, Utkin, Grag - Большое спасибо за помощ!
Toha_88 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Алгоритм и программа пузырьковой сортировки... Smagulov85 Фриланс 9 20.01.2010 23:37
алгоритм сортировки «вставкой» curly182 Помощь студентам 2 19.10.2009 22:56
Алгоритм сортировки по категориям retail_ret PHP 8 11.08.2009 00:06
Алгоритм сортировки одномерного массива JOFRIF Общие вопросы C/C++ 4 19.07.2009 17:23