Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Prolog5.2 добавление в список, необходима любая помощь 
:(
    Опции темы
Night33
Дата 12.5.2009, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 12.5.2009

Репутация: нет
Всего: нет



Здравствуйте! помогите, пожалуйста, написать в Prolog 5.2 следующее:
есть код, выводит элементы
R1 C1 
U2 Q1
U2 Q1

из файла с содержимым
/N00534 R1(2) C1(1);
/N00608 U2(3) Q1(1);
/N00566 U2(2) Q1(3);
в виде L=[[R1,C1],[U2.Q1],[U2,Q1]]

нужно методом перебора из полученного списка, подсчитать количество связей каждого элемента с каждым. Например Q1 связан с U2 - 2 раза.

Код

domains
file=input
sl=string*
sll=sl*
predicates
readFile(file,sll)
getNames(string,sl)
trans(sl,string,string)
write_list(integer,sll)
clauses
readFile(File,[L|LL]):-
    not(eof(File)),
    !,
    readln(X),
    getNames(X,L),
    readFile(File,LL).
readFile(_,[]).

getNames(Str,L):-
    fronttoken(Str,Tok,Rest),
    !,
    trans(L,Tok,Rest).
getNames(_,[]).

trans(L,Tok,Rest):- 
    frontchar(Tok,'/',_),
    fronttoken(Rest,_,Rest1),
    !,
    getNames(Rest1,L).
trans([Tok|L],Tok,Rest):- 
    isname(Tok),
    !,
    getNames(Rest,L).
trans(L,_,Rest):- 
    getNames(Rest,L).

write_list(C,[L|LL]):-
    term_str(sl,L,S),
    writef("L% = %\n",C,S),
    C1=C+1,
    write_list(C1,LL).
write_list(_,[]).
goal
FileName="1.net",
openread(input,FileName),readdevice(input),
readFile(input,L),
closefile(input),
write_list(1,L),nl.


Это сообщение отредактировал(а) Night33 - 12.5.2009, 21:17
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума Prolog
Void
  • Пожалуйста, создавайте темы с содержательными названиями.
  • Уважаемые учащиеся, здесь всегда рады помочь Вам, но не делать за Вас вашу работу. У вас гораздо больше шансов получить помощь, если Вы приложите усилия и поделитесь с нами проблемами и результатами. В противном случае добро пожаловать в раздел Центр Помощи.
  • Получив ответ на интересующий Вас вопрос, не забудьте пометить его как решённый.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Prolog | Следующая тема »


 




[ Время генерации скрипта: 0.0513 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.