上のいくつかの基本にしてくださいヘルプ:私は怒鳴るように、与えられたリストのメンバーの任意の発生を削除し、プログラムを書きたいプロローグ
deleteall(1,[1,2,3,1,3,2,5],Out)
Out= [2,3,3,2,5]
はどのように私はそれを行うことができますか?これは私の試みです:
deleteall(X,[],[]).
deleteall(X,[H1|T1],[H2|T2]) :- deleteall (X,T1,T2).
上のいくつかの基本にしてくださいヘルプ:私は怒鳴るように、与えられたリストのメンバーの任意の発生を削除し、プログラムを書きたいプロローグ
deleteall(1,[1,2,3,1,3,2,5],Out)
Out= [2,3,3,2,5]
はどのように私はそれを行うことができますか?これは私の試みです:
deleteall(X,[],[]).
deleteall(X,[H1|T1],[H2|T2]) :- deleteall (X,T1,T2).
以下を試してください。元のプログラムの条件が不足していました。スタックオーバーフローへ
はdeleteall(_,[],[]).
deleteall(X,[X|T1],T2) :- deleteall(X,T1,T2).
deleteall(X,[H1|T1],[H1|T2]) :- not(X=H1), deleteall(X,T1,T2).
ようこそ!私たちは助けたいと思っていますが、あなたが最初に試してみたいと思っています。あなたは何を試していますか、どこにいらっしゃいますか? –
が、私はそれを忘れて、今私はそれを参照してください – Mahdi
変更[この回答](http://stackoverflow.com/questions/6441527/simple-prolog-delete-from-list/6441803#6441803) – false