Course Solutions Uncategorized (Solved) : Given List Numbers Prolog Divide Sublists Every Time Change Integer Sign Start Another Sub Q36033207 . . . .

(Solved) : Given List Numbers Prolog Divide Sublists Every Time Change Integer Sign Start Another Sub Q36033207 . . . .

 

Given a List of numbers in Prolog, how can you divide it intosub_lists?

Every time there is a change in integer sign, you start anothersub list.

Eg -sign_runs([8,-3,-9,1,5,-2], Result)

Result = [[8],[-3,-9], [1,5], [-2]]

My attempt:

pack([],[]).

pack([X|Xs],[Z|Zs]) :-transfer(X,Xs,Ys,Z), pack(Ys,Zs).

transfer(X,[],[],[X]).

transfer(X,[Y|Ys],[Y|Ys],[X]) :-

diff(X, Y, Ans),

Ans =:= 1.

transfer(X,[X|Xs],Ys,[X|Zs]) :- transfer(X,Xs,Ys,Zs).

diff(N1, N2, 0) :-

sign(N1, A),

sign(N2, B),

A =:= B.

diff(N1, N2, 1) :-

sign(N1, A),

sign(N2, B),

A == B.

sign(Num, 1) :-

Num > 0.

sign(Num, 0) :-

Num < 0.

But prolog returnsFalse and not the Answer to Result.

Expert Answer


An answer

OR

PayPal Gateway not configured

OR

PayPal Gateway not configured

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Post

(Solved) : Level Ermediary User Computer Acts Intermediary User Lle 2 Bootstrap Program Usually Store Q34763694 . . . .(Solved) : Level Ermediary User Computer Acts Intermediary User Lle 2 Bootstrap Program Usually Store Q34763694 . . . .

<br/><img src="https://media.cheggcdn.com/media%2F498%2F4987d2f9-6d87-4de0-9532-36827c546056%2Fimage.png" alt="same level and Ermediary between the user and the computer acts as an intermediary between the user and the lle 2- The bootst" aria-describedby="d3f"/>same level and Ermediary between