Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- List1 = [1, 5, 8, - 16, 11, - 3, 3] &
- negative_right (List1, [], Result)
- ;
- negative_right ([], Result, Result) :-
- !
- %&negative_left(Result,[],Res)
- ;
- negative_right ([H | T], Acc, Result1) :-
- H < 0 &
- ! &
- zeroAppend (T, H, [], Result2) &
- NewAcc = :lst.append (Acc, Result2) &
- negative_right ([], NewAcc, Result1)
- ;
- negative_right ([H | T], Acc, Result) :-
- NewAcc = :lst.append (Acc, [H]) &
- negative_right (T, NewAcc, Result)
- ;
- zeroAppend ([], Const_negative, Res, [Const_negative | Res]) :-
- !
- ;
- zeroAppend ([H | T], Const_negative, Acc, Res) :-
- H <= 0 &
- ! &
- NewAcc = :lst.append (Acc, [H]) &
- zeroAppend (T, Const_negative, NewAcc, Res)
- ;
- zeroAppend ([H | T], Const_negative, Acc, Res) :-
- New_Const_negative = Const_negative + H &
- New_Const_negative < 0 &
- ! &
- zeroAppend ([0 | T], New_Const_negative, Acc, Res)
- ;
- zeroAppend ([], _Const_negative, _Acc, _Res) ;
- %negative_left([H|T],Temp,Res):-
- % negative_left(T,Temp,Tempa)
- %
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement