![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 21.10.2009
Сообщений: 114
|
![]()
Например:
Создаем два файла (первый и второй) на диске С:\ Нужно чтобы во втором файле сохранялись элементы первого файла (без повторений). Не подскажите алгоритм? P.S Времени просто не хватает, задают то чего еше на лекциях не разобрали, успел разобрать ввод файла, как вывести. Из-за не хватки практики в этой области ничего в голову не лезет. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 23.11.2010
Сообщений: 530
|
![]()
какого типа элементы в файлах?
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 21.10.2009
Сообщений: 114
|
![]()
тип string
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
тут важный момент - помещается ли содержимое файла в памяти.
Если помещается, то самое простое - читаем очередной элемент из файла - ищем его в памяти, если не нашли - то пишем в выходной файл и сохраняем в структуре в памяти, если такой уже есть - то ничего не делаем, просто переходим на следующий элемент. Если же файл в памяти не помещается, то тут можно предложить тупейший (но крайне малоэффективный в плане производительности) способ — берём очередной элемент входного файла - перебираем ВСЕ элементы от 1 до последнего (пропуская элемент с текущим индексом). Если нашли такой - то игнорируем (и прерываем цикл проверки, разумеется). Если не нашли - пишем в выходной файл. p.s. я тут пишу больше, чем будет строчек в программном коде... ![]() |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 21.10.2009
Сообщений: 114
|
![]()
Переходим в режим чтения и просто организовываем цикл? Или есть какая та процедура(функция) просмотра файла от начала и до конца?
Последний раз редактировалось masterlomaster; 09.03.2011 в 23:57. |
![]() |
![]() |
![]() |
#6 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
Цитата:
у.. поздравляю, это худший вариант из всех возможных ![]() |
||
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 23.11.2010
Сообщений: 530
|
![]() Код:
|
![]() |
![]() |
![]() |
#8 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
я бы добавил прерывание цикла, если совпадение нашлось:
Цитата:
|
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 23.11.2010
Сообщений: 530
|
![]()
еще можно переменную w сделать логической... и заполнение файла не только числами, а символами...
Код:
|
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 21.10.2009
Сообщений: 114
|
![]()
Всем спасибо.
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
паскаль(файлы) | masterlomaster | Помощь студентам | 1 | 03.03.2011 16:48 |
Файлы.паскаль | radon228 | Помощь студентам | 1 | 03.06.2010 19:27 |
Файлы паскаль | p4serhiy | Помощь студентам | 1 | 17.05.2010 20:10 |