|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
03.01.2015, 20:34 | #11 |
Форумчанин
Регистрация: 03.01.2015
Сообщений: 160
|
Пожалуйста, помогите(((( Не знаю как разбить файлы на строки, и потом каждую из строк сравнивать по отдельности. Как это сделать?
|
03.01.2015, 20:40 | #12 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Ну раз это фришка то загрузить файл можно так:
Код:
Потом работать уже с массивами: Код:
I'm learning to live...
|
04.01.2015, 18:51 | #13 |
Форумчанин
Регистрация: 03.01.2015
Сообщений: 160
|
Спасибо) Вот только ещё подскажите, дошла в программе до момента, когда в файлах нет одинаковых строк, и нужно строки из файлов f и g записать чередуя их начиная с первой из файла f в файл h. Я попробовала вот так(вот моя программа). Но здесь сначала записывается первая строка из файла f а затем весь файл g, потом вторая строка из файла f, а затем весь файл g и т.д. Подскажите, как правильно сделать(
Код:
Последний раз редактировалось Maray; 04.01.2015 в 19:51. |
04.01.2015, 19:59 | #14 |
Форумчанин
Регистрация: 03.01.2015
Сообщений: 160
|
Файлы
Добрый вечер=) Подскажите пожалуйста, было задание:
Даны файлы f и g. Записать в файл h все совпадающие строки файлов f и g, если таких строк нет, то в файл h записать строки из файлов f и g, чередуя их, начиная с первой из файла f Так вот, дошла в программе до момента, когда в файлах нет одинаковых строк, и нужно строки из файлов f и g записать чередуя их начиная с первой из файла f в файл h. Я попробовала вот так(вот моя программа). Но здесь сначала записывается первая строка из файла f а затем весь файл g, потом вторая строка из файла f, а затем весь файл g и т.д. Подскажите, как правильно сделать( Код:
|
05.01.2015, 12:21 | #15 |
Форумчанин
Регистрация: 03.01.2015
Сообщений: 160
|
Добрый день)
Помогите пожалуйста, почти дописала программу. Остался последний момент, когда в файлах f и g нет одинаковых строк. И нужно записать в файл h строки из файлов f и g чередуя их начиная с первой из файла f. То что написала я, работает только в том случае, когда количество строк в файлах f и g одинаковое. В остальных случаях программа не работает. Помогите, пожалуйста правильно сделать. Код:
|
05.01.2015, 12:54 | #16 |
Форумчанин
Регистрация: 21.10.2010
Сообщений: 588
|
Первое что пришло в голову.
Код:
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681 |
05.01.2015, 16:32 | #17 |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,330
|
Во вложении вариант с использованием списка (динамическая память).
Для записи поочередно строк из двух файлов можно воспользоваться тем условием, что при контроле конца файла перемещения по файлу не происходит. Т.е. Код:
PS: В программе сделано так, что если есть совпадающие строки, то только такие строки пишутся в третий файл. Если совпадающих строк нет, то строки файлов поочередно пишутся в третий файл. Как-то так, ...
Как-то так, ...
|
05.01.2015, 16:37 | #18 |
Форумчанин
Регистрация: 03.01.2015
Сообщений: 160
|
Спасибо за помощь) Но к сожалению программа вообще не работает. Я даже не могу узнать где ошибка. Начинаю пошагово выполнять программу, и уже на строке Reset(f) выходит из программы. Кто-нибудь, помогите пожалуйста домучить эту программу.
Задание: Даны файлы f и g. Записать в файл h все совпадающие строки файлов f и g, если таких строк нет, то в файл h записать строки из файлов f и g, чередуя их, начиная с первой из файла f Вот мой код. Помогите найти и исправить ошибки, пожалуйста: Код:
|
05.01.2015, 18:21 | #19 |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,330
|
1. Есть готовое решение, см. пост выше.
2. Файлы f.txt, g.txt существуют? Где они размещены? В той версии, что в посте выше, путь к таким файлам указан явно. Сами файлы приложены. Легко их скорректировать и проверить работу программы. Общая идея, реализованная в программе: а). Создаем два списка: п/п для этого взяты из учебника Т.А. Павловская (см. список литературы в теме "Паскаль"). add() - формирование списка; find() - поиск строки в списке. б). Читаем файлы и записываем в списки, соответственно: beg_a, beg_b. в). В цикле, пока не достигнут конец первого списка ищем строку во втором списке. Если находим, то пишем в третий файл и устанавливаем флажок (признак того, что есть совпадающие строки). г). Если после выхода из цикла флажок не установился, то, в цикле, читаем строки из списков, по очереди, и пишем строки в третий файл. Если достигнут конец одного из списков, то строки из него не читаются. д). Признаком завершения цикла будет ситуация, когда достигнут конец у обоих списков. е). Закрываем третий файл. Все. Как-то так, ...
Как-то так, ...
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с файлами: запись, добавление, чтение (найти ошибку в коде) / C для начинающих Надо создать программу для работы с файлами | Konlor | Общие вопросы C/C++ | 2 | 18.05.2014 12:37 |
Работа с файлами | as1212 | Помощь студентам | 0 | 13.11.2011 21:34 |
Работа с файлами | Maksi | Фриланс | 4 | 07.06.2008 11:38 |