|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
24.11.2008, 10:08 | #1 | |
Пользователь
Регистрация: 15.11.2008
Сообщений: 11
|
Сортировка строчек из txt файла
Есть файл results.txt
в нем содержание в формате: Цитата:
в конце файла через пробел (или \n и пробел стоит ; которая обозначает конец) Так вот надо отсортировать по 1 столбцу (алфавит), по 2 столбцу (алфавит), и по остальным трем столбцам (выбирается самое большое число и сортируется относительно его (то есть сверху - строчка у которой одно из чисел самое большое) 80 процентов программы сделал (заключалась в редактировании файла, добавлении, удалении и еще куча всего) А вот здесь вот загвозка... ничего в голову не приходит. Знаком с C++ неделю, приходится, так вот... Ах да, запись в файл не обязательна, можно просто выводить, пишу в C++ Builder 6 , консоль Help! (а то приходится сдавать переводные экзамены... в итоге за неделю надо учить с++ народ 2 семестра его учил а мне за неделю( ) если кому надо исходники - выложу. Если какие-т библиотеки специальный надо подключить - легко. Ограничения в задании по этому нету... Последний раз редактировалось mmka; 24.11.2008 в 14:02. |
|
24.11.2008, 12:07 | #2 |
Форумчанин
Регистрация: 26.07.2008
Сообщений: 116
|
Тебе подойдет алгоритм, который называется Schwartzian transform:
http://en.wikipedia.org/wiki/Schwartzian_transform |
24.11.2008, 12:26 | #3 | |
Пользователь
Регистрация: 15.11.2008
Сообщений: 11
|
Цитата:
Приведите примеры пожалуйста... |
|
24.11.2008, 12:33 | #4 | |
Форумчанин
Регистрация: 26.07.2008
Сообщений: 116
|
Цитата:
1. первоначальная строка 2. первое слово 3. второе слово 4. третье слово, и т.д. сколько слов тебе надо. Потом сортируешь массив этих структур стабильной сортировкой (std::stable_sort, не изменяющей порядок следования одинаковых элементов) сначала по последнему слову, потом по предпоследнему, и т.д. до первого. Когда сортировка закончена, ты превращаешь массив структур обратно в массив строк. |
|
24.11.2008, 12:35 | #5 |
Форумчанин
Регистрация: 17.11.2008
Сообщений: 233
|
Что то я не совсем понял задание...
Нужно отсортировать 1 столбец, 2 столбец и 3 столбец = 3 поля int??? Так?! Они как нибудь зависят друг от друга то?!?!? |
24.11.2008, 12:46 | #6 | |||
Пользователь
Регистрация: 15.11.2008
Сообщений: 11
|
Цитата:
Цитата:
а) по 1 столбцу (в алфавитном порядке) б) по 2 столбцу (в алфавитном порядке) в) по 3,4,5 столбцу (самое большое число среди них) Они никак друг от друга не зависят. Их вводит человек. теоритически вот так: Цитата:
Причем это все в текстовом файле... Последний раз редактировалось mmka; 24.11.2008 в 12:49. |
|||
24.11.2008, 12:52 | #7 |
Форумчанин
Регистрация: 26.07.2008
Сообщений: 116
|
|
24.11.2008, 13:19 | #8 | |
Пользователь
Регистрация: 15.11.2008
Сообщений: 11
|
Цитата:
а алгоритм я так и не понял( |
|
24.11.2008, 13:28 | #9 |
Форумчанин
Регистрация: 26.07.2008
Сообщений: 116
|
навскидку (\n отбрасывается функцией getline):
Код:
|
24.11.2008, 13:42 | #10 |
Форумчанин
Регистрация: 17.11.2008
Сообщений: 233
|
Кароч... Я бы заполнял так...
Либо массив структур... Либо три двумерных массива: два char** и один int** Сортировка бы заключалась в том, что менять указатели!!! А потом обратно в файл это все запихать (после сортировки)!!! |
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как ускорить загрузку списка ListBox из txt-файла? | Dux | Компоненты Delphi | 24 | 30.10.2008 19:02 |
Сформировать список строк L1, считав его из файла input.txt | Gaika | Помощь студентам | 4 | 03.07.2008 07:33 |
Запись из файла txt или mdb в базу данных | DerSky | БД в Delphi | 6 | 09.06.2008 12:50 |
Разделение txt файла на несколько htm | Tiger16 | Фриланс | 3 | 17.04.2008 22:40 |
как считать данные с Txt файла? | Alar | Общие вопросы Delphi | 0 | 29.10.2006 20:12 |