- %Czy listy som identyczne?
- a2b([],[]).
- %to na gurze trza dodac bo inaczej prolog nie wie co robic jak taila przejrzy
- a2b([gej|Ta],[goj|Tb]) :- a2b(Ta,Tb).
- %albo wincej malych liter, albo pojedyncze w apostrofach
- a2b(['a'|Ta],['b'|Tb]) :- a2b(Ta,Tb).
- %czy wienksze?
- wienkszy(succ(_),0).
- wienkszy(succ(X),succ(Y)) :- wienkszy(X,Y).
- %czy drugi na liscie?
- member2(X,[_,X|_]).
- %takie same listy poza pierwsymi dwiema;
- takiesame([_,_|T],[_,_|T]).
- %tlumacz slowek
- tran(eins,one).
- tran(zwei,two).
- tran(drei,three).
- tran(vier,four).
- tran(fuenf,five).
- tran(sechs,six).
- tran(sieben,seven).
- tran(acht,eight).
- tran(neun,nine).
- tlum([],[]).
- tlum([G|Tg],[E|Te]) :- tran(G,E), tlum(Tg,Te).
- %podwajanie elementow tablicyyyy
- twice([],[]).
- twice([H|T],[H,H|Tx]) :- twice(T,Tx).
- %dlugosc listy
- len([],0).
- len([_|T],N):- len(T,X), N is X+1
- leng(List,Length) :- accLen(List,0,Length). %<opcjonalne
- accLen([_|T],A,L) :- Anew is A+1, accLen(T,Anew,L).
- accLen([],A,A).
- %najwinksza wwartosc listy
- max(List,Max) :-
- List = [H|_],
- accMax(List,H,Max). %bufor zeby zero nie psulo
- accMax([H|T],A,Max) :-
- H > A,
- accMax(T,H,Max).
- accMax([H|T],A,Max) :-
- H =< A,
- accMax(T,A,Max).
- accMax([],A,A).
- %suma dwuch lsit
- addone([],[]).
- addone([H|T], [H1|T1]) :-H1 is H + 1,
- addone(T,T1).18
- %element o danym indeksie z listy
- nrZlisty([H|_],1,H).
- nrZlisty([_|T],N,H) :- Nr is N +1 , nrZlisty(T,Nr,H).
- %oswruc liste
- odwruc([],Z,Z).
- odwruc([H|T],Z,Acc) :- odwruc(T,Z,[H|Acc]).