![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Moony |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 12 Пол: Мужской Репутация: ![]() ![]() ![]() |
такая вот задачка, помогите пожалуйста с решением
Даны два текстовых файла. Определить, совпадают ли компоненты первого файла с компонентами второго файла, ели нет, то получить номер строки и позицию символа в этой строке, начиная с которого файлы отличаются между собой. В случае, когда один из файлов повторяет начало другого (более длинного) файла, ответом должно быть соответствующее сообщение с указанием имени длинного файла и номера первой строки, которая не входит в короткий файл. Сообщение отредактировано: Moony - 2.12.2004 15:43 |
![]() ![]() |
ShadowWatcher |
![]()
Сообщение
#2
|
Новичок ![]() Группа: Пользователи Сообщений: 29 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата на уровне стандартных Паскалевских средств да, но вобще-то числа (каждое число интерплитируется как код ASCII). Ну, выпендрился ![]() Код Var f1,f2:Text; s1,s2:String; i,n:Integer; bNotified:Boolean; Begin Assign(f1,'c:\f1.Txt');Reset(f1); Assign(f2,'c:\f2.Txt');Reset(f2); bNotified := False; n := 1; While Not (Eof(f1)) Do Begin If (Eof(f2)) Then Break; ReadLn(f1,s1); ReadLn(f2,s2); If (s1<>s2) Then Begin For i:=1 To Length(s1) Do If (i > Length(s2)) Or (s1[i]<>s2[i]) Then Break; WriteLn('String #',n,' Character#',i); bNotified := True; Break End; Inc(n) End; If Not bNotified Then If Eof(f1) And Not Eof(f2) Then WriteLn('f2 is longer than f1. f1 consists only ',n,' strings') Else If Eof(f2) And Not Eof(f1) Then WriteLn('f1 is longer than f2. f2 consists only ', n ,' strings') Else WriteLn('Files Are Equal'); Close(f1); Close(f2); ReadLn End. Вроде так... |
![]() ![]() |
![]() |
Текстовая версия | 23.07.2025 20:33 |