Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.02.2014, 19:40   #1
shadezx
Пользователь
 
Регистрация: 24.10.2013
Сообщений: 75
По умолчанию Delphi Файлы

Даны два файла целых чисел одинакового размера. Создать текстовый файл, содержащий эти числа, расположенные в два столбца шириной по 30 символов (в первом столбце содержатся числа из первого исходного файла, во втором — из второго файла). В начало и конец каждой строки текстового файла добавить разделитель «|». Числа выравниваются по правому краю столбца.
shadezx вне форума Ответить с цитированием
Старый 03.02.2014, 21:02   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
var q,w:file of integer; e,r:integer; 
begin
 assignfile(output,'text.txt'); 
 assignfile(q,'1'); reset(q);
 assignfile(w,'2'); reset(w);
 while (not eof(w)) and (not eof(q)) do begin
  read(q,e);read(w,r);writeln('|',e:30,w:30,'|');
 end; 
 closefile(q);closefile(w);
end.
Это если не ошибаюсь. Не проверял.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.02.2014, 06:46   #3
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Это если не ошибаюсь.
ну разве что еще output закрыть не мешало бы...
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 04.02.2014, 07:21   #4
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
ну разве что еще output закрыть не мешало бы...
Наверное, не закрыть, а перенаправить на ''..
Poma][a вне форума Ответить с цитированием
Старый 04.02.2014, 09:03   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А он сам должен закрыться.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.02.2014, 09:27   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А он сам должен закрыться.
да должен то должен, но намного лучше закрыть его принудительно!

Код:
CloseFile(output);
кроме того, где логика - файлы, которые открываются НА ЧТЕНИЕ, у Вас в программе закрываются (при чтении шансы потерять данные минимальны). А файл, в который идёт запись - бросаете на произвол судьбы.
Раньше, в DOS программах подобное поведение вполне могло привести к тому, что последний записываемый кусок может не попасть в файл (я лично сталкивался с подобными багами).
Поэтому, я бы лично файлик всё таки закрыл, так оно и правильнее и надежнее будет!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.02.2014, 09:31   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну пусть будет так
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.02.2014, 09:57   #8
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Опять же, в некоторых версиях Паскаля, изменения в файл пишутся только по факту его закрытия (практический опыт). Т.е. не закрыли - изменений нет.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 04.02.2014, 15:28   #9
shadezx
Пользователь
 
Регистрация: 24.10.2013
Сообщений: 75
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Код:
var q,w:file of integer; e,r:integer; 
begin
 assignfile(output,'text.txt'); 
 assignfile(q,'1'); reset(q);
 assignfile(w,'2'); reset(w);
 while (not eof(w)) and (not eof(q)) do begin
  read(q,e);read(w,r);writeln('|',e:30,w:30,'|');
 end; 
 closefile(q);closefile(w);
end.
Это если не ошибаюсь. Не проверял.
Благодарю за помощь!
shadezx вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Очень нужно сделать задачу в Delphi(Типизированные файлы. файлы записи) Vitalik1 Помощь студентам 1 16.12.2011 10:38
Delphi, файлы Тимур(16rus) Помощь студентам 0 26.12.2010 07:38
Файлы в Delphi Natasha-pomosh Общие вопросы Delphi 6 07.06.2010 16:08
Файлы Delphi Likan15 Помощь студентам 1 19.05.2010 21:54
Файлы в Delphi Levhik Общие вопросы Delphi 5 07.02.2009 13:46