Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.11.2011, 10:36   #1
ekaterina123
Новичок
Джуниор
 
Регистрация: 02.11.2011
Сообщений: 1
Восклицание задача на списки

имеется 2 файла со словами. Распечатать список слов которые встречаются в 2х файлах.( в одной строке-одно слово) слова второго файла помещаются в список(упорядоченный) 1слова 1 файла ищется в списке) задачи на стеки(((
помогите решить пожалуйста))))
ekaterina123 вне форума Ответить с цитированием
Старый 03.11.2011, 17:44   #2
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Код:
database
	f1( string )
	f2( string )
domains     
    strList=string*
predicates
	listToDB1( strlist )
	listToDB2( strlist )
	find
clauses        
	listToDB1( [] ).
	listToDB1( [H|T] ):-
		assert( f1( H ) ),listToDB1( T ).
	listToDB2( [] ).
	listToDB2( [H|T] ):-
		assert( f2( H ) ),listToDB2( T ).
	find:-
		f1(X), f2(X),write(X), nl, fail;!.
goal
    LS1 = [ asd,we,rt,vfg,dfg,gh,dhrt, qwe ],
	LS2 = [ qwe, asd,sdfasd,fsd,fs,df,sd,gdf ],
	listToDB1( LS1),listToDB2( LS2),
	find, retractall( f1(_) ), retractall( f2(_) ).
тут поиск совпадающих элементов списков. Со вводом данных с файла, надеюсь, сам справишься.
Если нет - то вот фрагмент:
Код:
    separ(Str,[T|L]):-
        frontchar(Str,S3,S2),
        str_char(S5,S3),
        scan(S2,[T|L],S5),!.
    separ(_,[]).
    scan(Str,[T|L],S):-
        frontchar(Str,S3,S2),
        NOT(S3=' '),
        str_char(S5,S3),
        concat(S,S5,S1),
        scan(S2,[T|L],S1),!.
    scan("",[T|L],S):-
        T=S,separ("",L).
    scan(Str,[T|L],S):-
        T=S,frontchar(Str,_,S2),
        separ(S2,L),!.
Тут преобразование строки в список, МБ поможет
rrrFer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача про списки Алекс12345 Паскаль, Turbo Pascal, PascalABC.NET 2 20.08.2011 19:33
TP задача на списки Ramina Помощь студентам 0 12.12.2010 15:13