IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> работа с файлами строк, (поиск одинаковых, чередование)
18192123
сообщение 8.01.2007 16:43
Сообщение #1


Профи
****

Группа: Пользователи
Сообщений: 920
Пол: Женский
Реальное имя: Марина

Репутация: -  2  +


Даны файлы f, g. Записать в файл h все совпадающие строки файлов f и g, если таких нет, то в файл h записать строки из файлов f и g, чередуя их, начиная с первой из файла f.

Одно дело, когда я ищу одинаковые слова, а вот как со строками и с их чередованием, понять не могу

.....

Объясните, пожалуйста!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Archon
сообщение 8.01.2007 17:25
Сообщение #2


Профи
****

Группа: Пользователи
Сообщений: 618
Пол: Мужской

Репутация: -  24  +


const
file_name_f = 'f.txt';
file_name_g = 'g.txt';
file_name_h = 'h.txt';

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.


Сообщение отредактировано: Archon - 8.01.2007 17:26


--------------------
Close the World...txeN eht nepO
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 19.07.2025 19:28
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"