Advertisement
Guest User

Untitled

a guest
Jun 24th, 2019
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.84 KB | None | 0 0
  1. %% ZAMIEN_LAST_ELEM
  2. zamien(X,List) →
  3. L1=reverse(List),
  4. [H|T] = L1,
  5. L2 = [X|T],
  6. reverse(L2).
  7.  
  8. %% WSTAW_EL_DO_POSORTOWANEJ_TABLICY
  9. wstaw(Element,[]) -> [Element];
  10. wstaw(Element,[H|T]) when Element < H -> [Element,H|T];
  11. wstaw(Element,[H|T]) -> [H] ++ wstaw(Element,T).
  12.  
  13. %% ZAMIEN_LAST_EL_ITER
  14. zamien_i(X,[H|T]) →
  15. zamien_i(X,[H|T],[]).
  16. zamien_i(X,[H|T], L) when T/=[] →
  17. zamien_i(X,T,[H|L]);
  18. zamien_i(X,[Y],L) →
  19. reverse([X|L]).
  20.  
  21. %% NOTACJA_POLSKA
  22. wynik(L) → [W] = wynik(L,[]), W.
  23. wynik([], Stack) → Stack;
  24. wynik([H|T], Stack) →
  25. wynik(T, rpn, (H, Stack)).
  26. rpn(p, [N1, N2|S]) → [N2+N1|S];
  27. rpn(m, [N1, N2|S]) → [N2-N1|S];
  28. rpn(X, Stack) → [X|Stack].
  29.  
  30. %% ENTY_EL_LISTY
  31. nth(1,[H|_])-> H;
  32. nth(N,[_|T]) when is_integer(N),
  33. N>1 -> nth(N-1,T);
  34.  
  35. %% MEMBER
  36. member(Element, [])-> false;
  37. member(Element, [H|T]) ->
  38. if
  39. Element == H -> true;
  40. Element =/= H -> member(Element,T)
  41. end.
  42.  
  43. %% DŁUGOŚĆ
  44. length([])->0;
  45. length([H|T]) -> length(T) + 1.
  46.  
  47. %% ODWRÓĆ LISTE
  48. reverse([]) -> [];
  49. reverse([H | T]) -> reverse(T) ++ [H].
  50.  
  51. %% MAX_VALUE
  52. max_value([H|T]) →
  53. max(T, H).
  54. max([], D) → D;
  55. max([H|L], AC) →
  56. if
  57. H > AC → max(L, H);
  58. true → max(L, AC),
  59. end.
  60.  
  61. %% SUMA_ITER_DWOCH_LIST
  62. suma(L1,L2) -> sum_unique(L1, L2, L1).
  63. sum_unique(_, [] , AC) -> AC;
  64. sum_unique(L, [H|T] , AC) -> VAR = member(L,H),
  65. if
  66. var -> sum_unique(L,T,AC);
  67. true -> sum_unique(L,T,AC ++ [H])
  68. end.
  69.  
  70. %% ZLICZ_EL < X
  71. zlicz(X, []) →
  72. zlicz(X, [H|T]) when X =< H →
  73. zlicz(X, T);
  74. zlicz(X, [H|T]) when X > H →
  75. 1 + zlicz(X, T).
  76.  
  77. %% ZLICZ_EL < X ITER
  78. zlicz_i(X, [H|T]) →
  79. zlicz_t(X, [H|T], 0).
  80. zlicz_i(X,[], Y) → Y;
  81. zlicz_i(X, [H|T], Y) when X > H →
  82. zlicz_i(X,T, Y+1);
  83. zlicz_i(X, [H|T], Y) when X <= H →
  84. zlicz_i(X, T).
  85.  
  86. %% ILOCZYN_ITER
  87. iloczynI([],E)->0;
  88. iloczynI([H|T],E)->
  89. iloczynI([H|T],E,[]).
  90. iloczynI([],E,L2)->L2;
  91. iloczynI([H|T],E,L2)->
  92. iloczynI(T,E,L2++[H*E]).
  93.  
  94. %% ŚREDNIA
  95. min_it([]) -> false;
  96. min_it([H|T]) -> min_it(H, [H|T]).
  97. min_it(A, []) -> A;
  98. min_it(A, [H|T]) when H < A -> min_it(H, T);
  99. min_it(A, [H|T]) -> min_it(A, T).
  100.  
  101. %% POZYCJA_PIERWSZEJ_UJEMNEJ
  102. poz_ujemne([])->0;
  103. poz_ujemne([H|T]) when H<0->
  104. 1 + poz_ujemne([]);
  105. poz_ujemne([H|T])-> 1 + poz_ujemne(T).
  106.  
  107. %% NAJMNIEJSZA WARTOSC W LISCIE ITER
  108. min([])->false;
  109. min([H|T])->
  110. min([H|T],H).
  111. min([],A)->A;
  112. min([H|T], A) when H < A ->
  113. min(T, H);
  114. min([H|T],A)->min(T,A).
  115.  
  116. %% ILOCZYN N Z KAŻDYM ELEMENTEM LISTY REKURENCYJNIE
  117. iloczyn(_,[]) -> [];
  118. iloczyn(N, [E]) -> [E*N];
  119. iloczyn(N, [H|T]) ->
  120. [N*H|iloczyn(N, T)].
  121.  
  122. %% ILOCZYN N Z KAŻDYM ELEMENTEM LISTY ITERACYJNIE
  123. iloczyn_i(_, []) -> [];
  124. iloczyn_i(N, L) -> iloczyn_i2(N, L, []).
  125. iloczyn_i2(_, [], A) -> A;
  126. iloczyn_i2(N, [H|T], A) ->
  127. iloczyn_i2(N, T, A ++ [N*H]).
  128.  
  129.  
  130. %% POZYCJA ELEMENTU W LIŚCIE ITER
  131. pozycja_i(E,[])->0;
  132. pozycja_i(E,L)->pozycja_i(E,1,L).
  133. pozycja_i(E,P,[H|T])when H /= E -> pozycja_i(E,P+1,T);
  134. pozycja_i(E,P,[H|T])when H == E -> P.
  135.  
  136. %% POZYCJA ELEMENTU W LIŚCIE
  137. pozycja(E,[])->0;
  138. pozycja(E,[H|T])when H /= E -> 1+pozycja(E,T);
  139. pozycja(E,[H|T])when H == E -> 1.
  140.  
  141. %% MINIMALNA WARTOSC W LISCIE
  142. min_i([])->false;
  143. min_i([H|T])->min_i(H,T).
  144. min_i(X,[H|T])when X >= H->min_i(H,T);
  145. min_i(X,[H|T])when X < H->min_i(X,T);
  146. min_i(X,[])->X.
  147.  
  148. %% DOPEŁNIENIE BRAKUJĄCYCH ELEMENTÓW
  149. dom([])->[0,1,2,3,4,5,6,7,8,9];
  150. dom(L)->dom(L, 0, []).
  151. dom(L, P, A) when P < 10 -> case (member3(P,L))
  152. of true -> dom(L, P+1, A);
  153. false -> dom(L, P+1, A++[P])
  154. end;
  155. dom(L, P, A) when P == 10 -> A.
  156.  
  157. %% USUWANIE ELEMENTU Z LISTY IT
  158. delel([],E)->[];
  159. delel([H|T],E) -> delel([H|T],E,[]).
  160. delel([],E,M) -> M;
  161. delel([H|T],E,M) when H == E -> delel(T,E,M);
  162. delel([H|T],E,M) -> delel(T,E,M++[H]).
  163.  
  164. %% USUWANIE ELEMENTU Z LISTY REK
  165. delelR([],_)->[];
  166. delelR([H|T],E) when H /= E -> [H] ++ delelR(T,E);
  167. delelR([H|T],E) -> delelR(T,E).
  168.  
  169. %% USUWANIE ELEMENTÓW POWYŻEJ PODANEJ WARTOŚCI
  170. usun_n([],L)->[];
  171. usun_n([H|T],E) when H=/=E ->
  172. [H]++ usun_n(T,E);
  173. usun_n([H|T],E)->[].
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement