0

プロローグでプログラムを書いていますが、助けが必要です。これはおそらく宿題の質問と見なすことができます。

私は2つのソートアルゴリズムを作成して動作させています。私の目標は、リストを渡すことです。長さが 5 以上の場合は、並べ替え方法 1 を使用します。長さが 5 未満の場合は、並べ替え方法 2 を使用します。並べ替え方法は両方とも、並べ替えられたリストを返します。それらはソートされたリストを返す必要がありますで使用されます。

私が取り組んでいる主な方法は次のとおりです。

%Main method to run program
main(List, Result) :-
size(List, N),
(   N => 5;
    sort1(List, X),
sort2(List, X)).

ただし、これを実行しようとするたびに、エラーが発生します。

?- メイン([1,5,1,4,2,6,1])。エラー: 未定義のプロシージャ: main/1 エラー: ただし、次の定義があります: エラー: main/2 false。

このエラーの意味がわかりません。誰か助けてくれませんか?

4

1 に答える 1

2

構文を修正する必要があります。あなたの説明から:

main(List, Result) :-
    length(List, N),
    (   N >= 5
    ->  sort1(List, Result)
    ;   sort2(List, Result)
    ).
于 2013-04-11T19:05:00.193 に答える