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

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

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

> Однонаправленный линейный список, Нужно выбросить из файла F1 слова, входящие в файл F2
сообщение
Сообщение #1


Влюблённый псих
***

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

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


А можно ли составить два спика в одной программе? Один список будет составляться по данным файла F1, а другой - файла F2? Нужно ли для этого отдельно описать второй список в TYPE?
Или, если так нельзя, то как можно прочитать файл F2, если известно заранее, что он состит из строк, но неизвестно их количество? Нужно ли делать это через запись или есть другие способы?

Сообщение отредактировано: Тёмный Эльф -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 117
Пол: Мужской
Реальное имя: Богдан

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


Не правильно, ведь типы next и next2 абсолютно идентичны, для чего же тебе нужно два одинаковых типа? Может две переменных , но точно не типы.

Тоже самое ты делаешь в процедуре - ты делаешь одинаковые действия для разных файлов. Зачем вообще тогда использовать процедуру, выигрыша в краткости кода ведь все-равно нет. Правильно будет, если ты напишешь процедуру, которая умеет заполнять только один список, данными из неизвестного для нее файла. Т.е. ее начало должно быть вроде:
зrocedure p1(s:string; var p:next);
var m:next;
F1:text;
BEGIN
Assign(F1,s);
Reset(f1);
New(m);
New(m^.sled);
p:=m;
Readln(f1, m^.el);
m^.sled:=nil;
--------------------


Ровно в два разы меньше байтодвижений smile.gif .
А потом передавай этой процедуре на растерзание сколько хочешь файлов и списков:

Var list1,list2,list3:next;
begin
p1('C:\first.txt', list1);
p1('C:\second.txt', list2);
p1('C:\third.txt', list3);
end.



Сообщение отредактировано: Bokul -


--------------------
Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Влюблённый псих
***

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

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


Цитата
ты делаешь одинаковые действия для разных файлов.

А ведь на самом деле, ну, я и глупость написал!
Спасибо... smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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


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

 





- Текстовая версия 29.03.2024 19:04
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name