![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 13.08.2013
Сообщений: 11
|
![]()
Созданы два типизированных файла. Удалить из второго файла все те числа, которые содержатся в первом.
у меня не получается удалить из второго файла числа которые содержатся в первом файле) здесь я только создала эти два типизированных файла) Код:
Последний раз редактировалось SOWAA; 19.08.2013 в 15:48. |
![]() |
![]() |
![]() |
#2 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
Это Вы просто решили с нами поделиться готовым решением или какие-то вопросы есть?... |
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 13.08.2013
Сообщений: 11
|
![]() |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
смотрите. здесь есть несколько вариантов решения проблемы.
Обобщённо алгоритм может выглядеть так: берём каждое число из второго файла. Проверяем (перебором) его наличие в первом файле, если найдено - то данное число исключаем из второго файла. Теперь о реализации. Самая быстрая и эффективная реализация будет, если оба файла прочитать в память (например, для небольших файлов можно использовать простые статические массивы), обработать (исключая из массива совпадающие значения). Результат сохранить в выходной файл. Можно поступить и другим способом. Примерно так, как Вам показал BDA в теме паскаль. удаление чисел из типизированного файла. - брать по одному значению из файла и, если нашли такое значение, сдвинуть остаток файла, последовательно перезаписывая все последующие элементы на место удаляемого. После завершения цикла - обрубить файл с помощью truncate(). Вам какой из алгоритмов ближе/понятнее? Если Вы хотите разобраться, то я смогу Вам помочь... (написать готовый код за Вас могу, но не хочу, ибо, это, имхо, не очень Вам поможет разобраться в решении!) разумеется, возможны и другие варианты решения задачи... |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 13.08.2013
Сообщений: 11
|
![]()
а можно будет сделать например так?:элементы из первого файла,как нибудь записать в какое нибудь множество,а потом из второго файла удалить те элементы которые входят в это множество.?
только вот как можно записать элементы из файла в множество? |
![]() |
![]() |
![]() |
#6 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
Код:
|
|
![]() |
![]() |
![]() |
#7 | |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,430
|
![]() Цитата:
Проверьте (тестировал в дельфи): Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() Последний раз редактировалось BDA; 19.08.2013 в 18:51. |
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 13.08.2013
Сообщений: 11
|
![]()
спасибо большое! все работает)
но не могли бы вы пожалуйста объяснить что вы делаете,я просто немного не понимаю Код:
Код:
|
![]() |
![]() |
![]() |
#9 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,430
|
![]()
Во-первых, http://comp-science.narod.ru/Progr/mn.htm.
Во-вторых, множество представляет собой битовую маску, в которой каждый бит обозначает какое-либо число. В-третьих, Код:
В-четвертых, про or, shl и shr - http://pas1.ru/bitarithmetic В-пятых, нужно исправить строку Код:
Код:
Сдвигаем нужный байт на нужное количество бит и "смотрим", чтобы требуемый бит был нулевым (числа нет в первом файле)
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
ну, и до кучи решение, о котором говорил я (с массивом)
Код:
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
паскаль. удаление чисел из типизированного файла. | SOWAA | Помощь студентам | 2 | 18.08.2013 23:17 |
Удаление записей из типизированного файла | whiskey | Общие вопросы Delphi | 6 | 30.10.2010 15:05 |
Типизированные файлы.Создание, удаление, редактирование, сортировка записей типизированного файла.Паскаль | Студент Шиза | Помощь студентам | 6 | 08.12.2007 13:41 |