![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
CQ |
![]()
Сообщение
#1
|
Гость ![]() |
Написать программу сравнения двух файлов: должно печататься первая строка, в которой они различаются. Если файлы идентичны, то выдать сообщение.
|
![]() ![]() |
trminator |
![]()
Сообщение
#2
|
Четыре квадратика ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 579 Пол: Мужской Репутация: ![]() ![]() ![]() |
Код program cmp; var s1, s2 : string; f1, f2 : text; i : integer; begin assign(f1, 'c:\temp\file1.txt'); assign(f2, 'c:\temp\file2.txt'); reset(f1); reset(f2); i := 1; s1 := ''; s2 := ''; while (not EOF(f1)) and (not EOF(f2)) do begin readLn(f1, s1); readLn(f2, s2); if s1 <> s2 then break else inc(i) end; if s1 = s2 then writeLn('identical files') // На самом деле они могут быть и пустыми. Как-нить обыграть тот факт, что ничего не считано. Например, если (s1 = '') and (s2 = '') else writeLn(i,' th string'); close(f1); close(f2) end. Еще эта программа игнорирует различия типа лишняя пустая строка -- тоже файлы одинаковые. Но требуется-то сравнить строки... Если нужно побайтово, то можно читать BlockRead'ом в массив байт и сравнивать массивы. -------------------- Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала |
![]() ![]() |
![]() |
Текстовая версия | 18.07.2025 20:43 |