Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.12.153.31] |
|
Страницы: (7) « Первая ... 2 3 [4] 5 6 ... Последняя » все ( Перейти к последнему сообщению ) |
Сообщ.
#46
,
|
|
|
Цитата Ya-Feya @ Помогите с программой, которая обрабатывает элементы списка. Исходный список вводится пользователем и содержит целые числа (за исключением 0). Признаком конца ввода является ввод 0. Программа должна из введенного списка а)получить новый список, каждый элемент которого на 1 больше соответствующего элемента введенного списка; б) получить новый список удалив из исходного списка все отрицательные элементы. Полученные списки поэлементно распечатать. domains list=integer* predicates inpp(list) print(list) p1(list,list) p2(list,list) goal write("Input list "),inpp(L), p1(L,L1),p2(L,L2), print(L1),nl,nl,print(L2). clauses inpp([H|T]):- readint(H),H<>0,!, inpp(T). inpp([]). print([]):-!. print([H|T]):- write(H),nl,print(T). p1([],[]):-!. p1([H|T],[H1|T1]):- H1=H+1, p1(T,T1). p2([],[]):-!. p2([H|T],[H|T1]):- H>0,!, p2(T,T1). p2([H|T],T1):- p2(T,T1). Добавлено Цитата jekahm @ Помогите, пожалуйста, решить такую вот задачку: Найти число решений логической задачи о расстановке ферзей для доски 8 на 8, при условии, что в квадрате 2.2 и 4.3 есть один ферзь. Заранее благодарен! Эта задача и в инете есть решённая, и в разделе. В разделе, по-моему, задача о расстановке махараджей. Там и расстановка ферзей обсуждалась. |
Сообщ.
#47
,
|
|
|
Спасибо большое!
|
Сообщ.
#48
,
|
|
|
Надо найти номера элементов в списке(т.е. по эл-там найти номера.)
n_element([X|_],1,X)-!. n_element([_|L],N,Y):– N1=N–1, n_element(L,N1,Y). он ругается что N - свободная переменная=(( как исправить ошибку? |
Сообщ.
#49
,
|
|
|
Что является входными данными?
Задан список и задан один элемент, найти его номер? |
Сообщ.
#50
,
|
|
|
да, или номера (если эл-т встречается несколько раз).
|
Сообщ.
#51
,
|
|
|
domains list=integer* predicates num(list,integer,integer) clauses num([X|_],X,1). num([_|T],X,N):- num(T,X,N1), N=N1+1. goal findall(N,num([2,2,3,2,2],2,N),L),write(L). |
Сообщ.
#52
,
|
|
|
Помогите написать предикат для вычисления моды списка!!
P.S. Мода — это число, чаще всех встречающееся в наборе чисел. Например, мода набора чисел 2, 3, 3, 5, 7 и 10 будет равна 3. |
Сообщ.
#53
,
|
|
|
domains list=integer* predicates moda(list,integer,integer) count(integer,list,integer) del(integer,list,list) max(integer,integer,integer,integer,integer,integer) clauses moda([X],X,1):-!. moda([H|T],M,N2):- count(H,[H|T],N), del(H,T,T1), moda(T1,X,N1), max(H,N,X,N1,M,N2). count(X,[],0):-!. count(X,[X|T],N):- count(X,T,N1), N=N1+1. count(X,[H|T],N):- count(X,T,N). del(X,[],[]):-!. del(H,[H|T],T1):- del(H,T,T1). del(X,[H|T],[H|T1]):- del(X,T,T1). max(X1,N1,X2,N2,X1,N1):- N1>=N2,!. max(X1,N1,X2,N2,X2,N2). goal moda([2,2,3,2,3,2],X,N),write(X," ",N). |
Сообщ.
#54
,
|
|
|
Спасибо большое!!
|
Сообщ.
#55
,
|
|
|
Здравствуйте,помоги пожалуйста....
1)Описать предикат Р(list1, list2), который истинен,если list1 состоит из повторяющихся более 3 раз элементов списка list2. 2)Определить предикат Р(list1, list2), который истинен,если list2 состоит из элементов списка list1, входящих в него наибольшее количество раз. Помогите пожалуйста,тяжко с Прологом!!! |
Сообщ.
#56
,
|
|
|
На ТурбоПрологе?
Цитата 2)Определить предикат Р(list1, list2), который истинен,если list2 состоит из элементов списка list1, входящих в него наибольшее количество раз. Не поняла заданье. Покажи на примере. |
Сообщ.
#57
,
|
|
|
например: list1 [1,2,4,1,5,1,2,2], list2 [1,2], элементы "1" и "2" входят по 3 раза в список 1, а список 2 состоит как раз из этих элементов, тогда ответ: да
|
Сообщ.
#58
,
|
|
|
Первое заданье
domains li=integer* predicates p(li,li) count(integer,li,integer) goal clearwindow, p([2,1],[3,2,1,2,1,2,1,3]), write("yes"); write("no"). clauses p([],_):-!. p([H|T],L):- count(H,L,N),!, N>=3, p(T,L). count(X,[],0):-!. count(H,[H|T],N1):- count(H,T,N), N1=N+1. count(X,[H|T],N):- count(X,T,N). |
Сообщ.
#59
,
|
|
|
Второе
domains li=integer* predicates count(integer,li,integer) del(integer,li,li) max(li,integer) p2(li,li) goal clearwindow, p2([3,2,1,2,1,2,1,3,1],[1]), write("yes"); write("no"). clauses p2(_,[]):-!. p2(L,[H|T]):- max(L,N),!, count(H,L,N), p2(L,T). max([],0):-!. max([H|T],N):- count(H,[H|T],N1), del(H,T,T1), max(T1,N), N>=N1. max([H|T],N):- count(H,[H|T],N). del(_,[],[]):-!. del(H,[H|T],T1):- del(H,T,T1),!. del(X,[H|T],[H|T1]):- del(X,T,T1). count(X,[],0):-!. count(H,[H|T],N1):- count(H,T,N), N1=N+1. count(X,[H|T],N):- count(X,T,N). |
Сообщ.
#60
,
|
|
|
Спасибо огромное!!!
|