|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.04.2012, 18:33 | #1 |
Новичок
Джуниор
Регистрация: 19.04.2012
Сообщений: 1
|
Осуществить слияние двух файлов в третий, используя два файла с целыми числами (на Паскале)
Есть 2 текстовых файла с целыми числами, допустим в первом записаны числа 1 2 7 9 13, а во втором- 0 1 4 9 16. Нужно осуществить их слияние так, что бы в третий (пустой файл) записалось 0 1 1 2 4 7 9 9 13 16. По сути это сортировка слиянием. Вот то, что сама написала, помогите найти ошибку, если вас это не затруднит)
|
20.04.2012, 00:23 | #2 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
Коряво
Но работает более-менее Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
24.11.2013, 00:20 | #3 |
Разрабатываюсь....
Пользователь
Регистрация: 16.11.2008
Сообщений: 68
|
Внезапно было нужно
Чуть поправлю Код:
Последний раз редактировалось evgn; 24.11.2013 в 00:41. |
24.11.2013, 01:23 | #4 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
evgn, явно опечатка:
Цитата:
Код:
кроме того, не уверен, что логика в вашем "исправленном коде" корректна. 1-е. Чувствую, что может быть неверная работа вашего кода, если после окончания одного из файлов, в переменных a и b будут значения такие, что b<a 2-е. когда Вы прочитали последнее значение значение, eof стало истиной, но ведь переменную надо записать в файл! возможно, что я и заблуждаюсь.. Это надо тестировать/проверять... Последний раз редактировалось Serge_Bliznykov; 24.11.2013 в 01:28. |
|
24.11.2013, 01:29 | #5 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
Serge_Bliznykov, и не единственная. После последнего end точка с запятой. Честно говоря, запускать код и проверять на наличие логических ошибок некогда, но выбрасывание проверок, которые были в моем коде, приведет к тому (предположительно), что последние элементы файлов запишутся не в том порядке или "потеряются" вовсе.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
24.11.2013, 01:35 | #6 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
согласен. нет, нам такие "поправки" не нужны! |
|
24.11.2013, 18:47 | #7 |
Разрабатываюсь....
Пользователь
Регистрация: 16.11.2008
Сообщений: 68
|
Я с вами полностью согласен товарищи... Было поздно, спать хотелось.
Но... свой код я тестировал в delphi, а там как не странно все работает. Там eof работает несколько по-другому. Но первоначальный код также не удовлетворяет всем требованиям, я легко приведу ряды которые он не правильно обработает. Хотя бы если использовать последнее число 32767. Тогда, такой вариант (вроде бы все проверил): Код:
|
24.11.2013, 19:27 | #8 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
А LongInt а паскале я надеюсь 4 байта? Тогда можно избежать проблемки с 32767 и сделать одним циклом и покороче. Паскаля нет, проверил в дельфи
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Функция обьединения двух посортованых файлов в третий методом слияния.. | eva.t | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 06.06.2010 02:39 |
Слияние двух бинарных файлов | kakawkin | Помощь студентам | 7 | 29.03.2010 21:12 |
Слияние двух файлов в один | hen | Общие вопросы C/C++ | 1 | 07.10.2009 22:59 |
дано два файла. получить третий,содержащий поочередно строки исходных двух файлов. | HyvAchoK | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 18.12.2008 10:51 |
Слияние двух текстовых файлов | nataly_ukr | Общие вопросы Delphi | 5 | 26.12.2007 16:45 |