Даны файлы f, g. Записать в файл h все совпадающие строки файлов f и g, если таких нет, то в файл h записать строки из файлов f и g, чередуя их, начиная с первой из файла f.
Одно дело, когда я ищу одинаковые слова, а вот как со строками и с их чередованием, понять не могу
.....
Объясните, пожалуйста!
Archon
8.01.2007 21:10
А по номерам строки должны совпадать? Или только по значению?
мисс_граффити
8.01.2007 21:12
открываешь f, g для чтения, h - для записи. читаешь первую строку из f и первую из g. сравниваешь. если не совпали, читаешь вторую из g (из f ничего не читаешь - работаешь по-прежнему с первой) и т.д. нашла совпадение - записала в h
если ни одного совпадения не было, читаешь первую из f, пишешь в h. читаешь первую из g, пишешь в h. читаешь вторую из f...
var f, g, h : text; s1, s2 : string; no_equal : boolean;
begin assign (f, file_name_f); assign (g, file_name_g); assign (h, file_name_h); reset (f); reset (g); rewrite (h); no_equal := true; {по умолчанию предпологаем, что совпадений не будет} while not (eof(f) or eof(g)) do {пока хоть один файл не кончится выполняем цикл} begin readln (f, s1); {вот это и есть считывание строки из файла} readln (g, s2); if s1 = s2 then begin writeln (h, s1); {если строки одинаковые записываем в h} no_equal := false; {совпадения, получается, есть} end; end; if no_equal then {если совпадений не было} begin reset (f); {это нужно, чтобы указатель на начало файла переместить} reset (g); while not (eof(f) or eof(g)) do begin readln (f, s1); readln (g, s2); writeln (h, s1); writeln (h, s2); end; end; close (f); close (g); close (h); end.
all natural alternative to viagr
3.11.2021 5:24
Finasteride Andorra Comprar Propecia
hydroxychloroquine azithromycin
5.12.2021 17:20
Cialis 37 Anni
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.