Aufgaben zu prolog [Hilfe]



  • Hi,

    ich habe ein paar aufagben zu prolog bekommen naja irgetwie hapert es bei ein paar aufgaben. Kann mir einer sagen wo der fehler ist.

    Wie schreibe ich ein Programm in Prolog das untersucht ob eine Matrix die form einer unteren Dreiecksmatrix hat. Ich habe mir folgendes überlegt.

    1. Ne matrix z.b.

    |1 2 3|
    |4 5 0|
    |6 0 0|

    Kann ich als liste so schreiben.
    [[1,2,3], [4,5,0], [6,0,0]].

    1. habe ich folgendes geschrieben

    lower([]).
    lower([X|Xs]) :- lower(Xs), sublist(X, s(T)).

    sublist(S,L):-prefix(P,L),suffix(S,P).

    prefix(P,L):-append(P,,L).
    suffix(S,L):-append(
    ,S,L).

    append([],L,L).
    append([H|T],L,[H|LT]):-append(T,L,LT).

    inList(X, [X|Xs]).
    inList(X, [Y|Ys]) :- inList(X, Ys).

    equal(X,Y) :- X = Y.

    s([0]).
    s([0|X]) :- s(X).

    Aber irgendwie funktioniert nicht das s(T) in der 2. Zeile. Ich will damit folgendes machen. Das s(T) bei jeden Aufruf eine neue liste mit 0, macht funkt aber nicht. Kann mir einer weiterhelfen?.


Anmelden zum Antworten