|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
21.04.2007, 15:17 | #1 |
Форумчанин
Регистрация: 26.01.2007
Сообщений: 278
|
Поиск одинаковых строк в файле
Помогите написать программу на Delphi:
Указывается путь к txt-файлу. В файле текстовые строки. Нужна программа, которая будет искать одинаковые строки, и удалять их. То есть, циклом пройтись: Если такой же строки нету - занести её в другой текстовик. И так далее. К примеру, в текстовике1: 1234 3412 3412 3412 6345 1234 Программа должна обработать текстовик1 и создать текстовик2 с содержимым: 1234 3412 6345 ======= Очень нужна программа, сдавать в коледж через неделю нужно! Последний раз редактировалось ATL; 21.04.2007 в 16:09. |
22.04.2007, 15:28 | #2 |
Студент
Форумчанин
Регистрация: 10.11.2006
Сообщений: 196
|
Писать за тя не буду, но могу дать пару советов:
I. Вар.1) можно отсортировать файлик 1 по алфавиту, тогда будет проще обходить цикл и выбрасывать повторяющиеся Вар.2)копируем 1 в 2, далее работаем со 2м: - берем первую строку, ищем вхождения - повторы удаляем - берем вторую и т.д. II. Для работы с подобными файлами лучше использовать TStrings: Код:
Код:
Visita Interiorem Terrae Rectificando Operae Lapidem...
|
22.04.2007, 19:45 | #3 |
Delphi/C++/C#
Участник клуба
Регистрация: 29.10.2006
Сообщений: 1,972
|
У меня подобная задача была 2 года назад на олимпиаде
Вариант Михаила не прошёл 3 тест (на время), пришлось делать через множества (set of) - отсев дублей за 1 проход файла. |
22.04.2007, 21:35 | #4 |
Форумчанин
Регистрация: 16.04.2007
Сообщений: 298
|
procedure TForm1.Button1Click(Sender: TObject);
var FLoad, FSave: TStringList; i: integer; tmp: string; begin FLoad := TStringList.Create; try FSave := TStringList.Create; try FLoad.LoadFromFile('file1.txt'); for i := 0 to FLoad.Count - 1 do begin tmp := FLoad[i]; if FSave.IndexOf(tmp) = -1 then FSave.Add(tmp); end; FSave.SaveToFile('file2.txt'); finally FSave.Free; end; finally FLoad.Free; end; end; Не надо ничего усложнять, все тривиально. Данные классы сами могут покопаться в себе и найти дубляжи.
Не надо ничего усложнять. Все достаточно тривиально.
Последний раз редактировалось Shuraken; 22.04.2007 в 22:18. |
23.04.2007, 00:07 | #5 |
Форумчанин
Регистрация: 26.01.2007
Сообщений: 278
|
Спасибо всем! Буду добавлять к этому интерфейс.
|
23.04.2007, 13:13 | #6 | |
Delphi/C++/C#
Участник клуба
Регистрация: 29.10.2006
Сообщений: 1,972
|
Цитата:
Я за хорошее программирование |
|
23.04.2007, 18:22 | #7 |
JAVA BEAN
Участник клуба
Регистрация: 22.04.2007
Сообщений: 1,329
|
При больших файлах лучше юзать пирамидальную сортировку или Шелла.
|
27.04.2007, 19:50 | #8 |
Форумчанин
Регистрация: 26.01.2007
Сообщений: 278
|
Скрипт переделал по новым требованиям, добавил интерфейс и анимацию окна.
Ещё один вопрос: Необходимо, чтобы программа реагировала на регистр. Как это можно сделать? |
29.04.2007, 11:58 | #9 |
Форумчанин
Регистрация: 26.01.2007
Сообщений: 278
|
Ну помогите с регистром букв, пожалуйста
|
29.04.2007, 12:17 | #10 |
Delphi/C++/C#
Участник клуба
Регистрация: 29.10.2006
Сообщений: 1,972
|
Т.е. чтоб реагировала? Чтоб 'ABC' и 'abc' воспринимались как разные строки? Или наоборот, чтоб одинаковыми были?
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Поиск одинаковых строк | Demitriy | Microsoft Office Excel | 45 | 26.07.2010 08:50 |
Расчет числа строк в типизированном файле | 1234 | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 20.05.2008 11:14 |
Колиество строк в файле | Аlex | Помощь студентам | 9 | 17.05.2008 21:57 |
ПОИСК ОДИНАКОВЫХ СЛОВ (не проходите мимо!) | MAD | Помощь студентам | 12 | 24.12.2007 22:41 |
Поиск в файле | asale | Microsoft Office Excel | 1 | 15.05.2007 23:33 |