|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.12.2017, 19:50 | #1 |
Регистрация: 14.11.2017
Сообщений: 9
|
Из файла 1 записать в файл 2 строки, упорядочив слова по алфавиту
Здравствуйте! Помогите пожалуйста задачей. Не могу сообразить, как сделать так, чтобы при копировании из файла f1 в файл f2 все слова каждой строки были упорядочены по алфавиту. Написал код, где ввожу строки файла 1 и все эти строки копируются во 2 файл. DELPHI. Вот мой код:
Код:
|
03.12.2017, 23:58 | #2 | |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,550
|
Цитата:
Нужно завести еще одну строку s1 и вспомогательную s_temp . Сортировка обычная. Помещаем в s_temp первое слово, все остальные слова из s поочередно сравниваем с s_temp : если < , удаляем в s_temp прежнее и помещаем туда новое, попутно запомнив место, откуда взяли. Когда просмотр закончится, s_temp добавляем к s1 (она предварительно д. быть очищена), а с запомненного места в s слово удаляем. Когда все в s поудаляли, можно писать s1 в f2. Засада вот в чем: слова разделяются только пробелами? Если еще . , ; : и пр. - придется попыхтеть больше. Последний раз редактировалось digitalis; 04.12.2017 в 00:16. |
|
04.12.2017, 07:20 | #3 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
Ну раз это Дельфи - то можно распарсить строку по словам, засунуть их все в TStringList и там выполнить Sort. Или вся фишка задачи - сортировку запрограммировать?
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
|
04.12.2017, 10:43 | #4 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,550
|
Так оно же в консольном режиме... Writeln и TstringList - разве совместимо ?
|
04.12.2017, 10:58 | #5 |
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
|
04.12.2017, 11:02 | #6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
|
04.12.2017, 11:03 | #7 | |
Регистрация: 14.11.2017
Сообщений: 9
|
Цитата:
|
|
04.12.2017, 12:08 | #8 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
TStringList - это не визуальная компонента, это класс. На котором, конечно, основано достаточно много VCL, но тем не менее сам по себе он внешнего представления не имеет.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
|
04.12.2017, 12:10 | #9 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
используя TStringGrid можно легко разделить строку(или весь текст) на отдельные слова (см. например, http://programmersforum.ru/showpost....71&postcount=5) потом отсортировать полученный TStringList методом Sort потом записать результат. но, боюсь, что задача исключительно учебная и Вам нужно написать код, который разбирает строку на слова и помещает их в массив и потом написать код сортировки этого массива. |
|
04.12.2017, 15:01 | #10 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
А я тут ещё вспомнил про существование TArray<T> начиная с некоторой версии дельфей
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Язык Си. открыть файл, считать строки, разбить их на слова, отсортировать по алфавиту | Li_Me | Помощь студентам | 0 | 07.05.2013 22:10 |
Записать в файл слова из текста, считанного из первого файла, которые начинаются и заканчиваются заданными буквами (Паскаль) | makgs123 | Помощь студентам | 0 | 11.12.2012 17:07 |
Составить строку символов, лексико-графически упорядочив слова исходной строки и разделив их пробелами (С++) | trum | Помощь студентам | 0 | 20.03.2012 01:01 |
Строки. Проверка принадлежности слова латинскому алфавиту | NinoZombie | Общие вопросы C/C++ | 3 | 16.05.2011 04:48 |