Advertisement
Guest User

Untitled

a guest
Dec 16th, 2019
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.90 KB | None | 0 0
  1. #include "pch.h"
  2. #include <iostream>
  3. #include <vector>
  4. #include <time.h>
  5.  
  6. using namespace std;
  7.  
  8. void wypisz(vector <int> tab)
  9. {
  10. for (int i = 0; i < tab.size(); i++)
  11. {
  12. cout << tab[i] << " ";
  13. }
  14. }
  15. int max(vector <int> tab)
  16. {
  17. int max = tab[0];
  18. for (int i = 1; i < tab.size(); i++)
  19. {
  20. if (max < tab[i])
  21. {
  22. max = tab[i];
  23. }
  24. }
  25. return max;
  26. }
  27. int suma(vector <int> tab)
  28. {
  29. int suma = 0;
  30. for (int i = 0; i < tab.size(); i++)
  31. {
  32. suma = suma + tab[i];
  33. }
  34. return suma;
  35. }
  36. bool CzyNalezy(vector <int> tab, int a)
  37. {
  38. for (int i = 0; i < tab.size(); i++)
  39. {
  40. if (a == tab[i])
  41. {
  42. return true;
  43. }
  44. }
  45. return false;
  46. }
  47. bool CzyZawiera(vector <int> tab, vector <int> tab2)
  48. {
  49. for (int i = 0; i < tab.size(); i++)
  50. {
  51. if (!CzyNalezy(tab, tab2[i]))
  52. {
  53. return false;
  54. }
  55. }
  56. return true;
  57. }
  58. vector <int> Unikalnosc(vector <int> tab)
  59. {
  60. vector <int> wynik;
  61. for (int i = 0; i < tab.size(); i++)
  62. {
  63. if (!CzyNalezy(wynik, tab[i]))
  64. {
  65. wynik.push_back(tab[i]);
  66. }
  67. }
  68. return wynik;
  69. }
  70. int index(vector <int> tab, int a)
  71. {
  72. for (int i = 0; i < tab.size(); i++)
  73. {
  74. if (a == tab[i])
  75. {
  76. return i;
  77. }
  78. }
  79. return -1;
  80. }
  81. vector <int> Wybierz(vector<int> tab, int dzielnik, int reszta = 0)
  82. {
  83. vector <int> dzielenie;
  84. for (int i = 0; i < tab.size(); i++)
  85. {
  86. if (tab[i] % dzielnik == reszta)
  87. {
  88. dzielenie.push_back(tab[i]);
  89. }
  90. }
  91. return dzielenie;
  92. }
  93. struct wdp
  94. {
  95. vector<int> liczby;
  96. vector<int> wystepowanie;
  97. };
  98. wdp czestosc(vector<int> tab)
  99. {
  100. wdp wynik;
  101. for (int i = 0; i < tab.size(); i++)
  102. {
  103. int ind = index(wynik.liczby, tab[i]);
  104. if (ind == -1)
  105. {
  106. wynik.liczby.push_back(tab[i]);
  107. wynik.wystepowanie.push_back(1);
  108. }
  109. else
  110. {
  111. wynik.wystepowanie[ind]++;
  112. }
  113. }
  114. return wynik;
  115. }
  116. void wypisz(wdp zm)
  117. {
  118. wypisz(zm.liczby);
  119. cout << endl;
  120. wypisz(zm.wystepowanie);
  121. }
  122. vector <int> wybierz(vector <int> tab, int dzielnik, int reszta = 0)
  123. {
  124. vector<int> wynik;
  125. for (int i = 0; i < tab.size(); i++)
  126. {
  127. if (tab[i] % dzielnik == reszta)
  128. {
  129. wynik.push_back(tab[i]);
  130. }
  131. }
  132. return wynik;
  133. }
  134. vector <int> generuj(int n, int min, int max)
  135. {
  136. vector <int> wygenerowane;
  137.  
  138. for (int i = 0; i < n; i++)
  139. {
  140. int a = (rand() % (max - min + 1)) + min;
  141. wygenerowane.push_back(a);
  142. }
  143. return wygenerowane;
  144. }
  145. vector <int> generuj(int n, int max = 50)
  146. {
  147. return generuj(n, 0, max);
  148. }
  149. int SumaOd(vector <int> tab, int a)
  150. {
  151. int suma = 0;
  152. for (int i = 0; i < tab.size(); i++)
  153. {
  154. suma += abs(tab[i] - a);
  155. }
  156. return suma;
  157. }
  158. int SumaOdMin(vector<int> tab)
  159. {
  160. int wynik = tab[0];
  161. int min=(SumaOd(tab,tab[0]));
  162. for (int i = 1; i < tab.size(); i++)
  163. {
  164. if (SumaOd(tab,tab[i] > min ))
  165. min= SumaOd(tab,tab[i]);
  166. wynik = (tab[i]);
  167. }
  168. return wynik;
  169. }
  170.  
  171.  
  172. int main()
  173. {
  174. srand(time(NULL));
  175.  
  176. int b = 1;
  177. for (int i = 1; i <= 4; i++)
  178. {
  179. while (b <= i)
  180. {
  181. cout << "*";
  182. b++;
  183. }
  184. cout << endl;
  185. b = 1;
  186. }
  187. int w = 4;
  188. for (int i = 0; i < w; ++i)
  189. {
  190. for (int j = 0; j < w - i; ++j)
  191. {
  192. cout << " ";
  193. }
  194. for (int k = 0; k <= i * 2; ++k)
  195. {
  196. cout << "*";
  197. }
  198. cout << endl;
  199. }
  200.  
  201.  
  202. vector <int> tabela2 = { 8,3,1,5,4 };
  203. vector <int> tabela = { 8,3,8,1,1,2,5,8,5 };
  204. wypisz(tabela);
  205. cout << endl;
  206.  
  207. cout << max(tabela) << endl;
  208.  
  209. cout << suma(tabela2) << endl;
  210.  
  211. if (CzyNalezy(tabela, 1))
  212. {
  213. cout << "tak" << endl;
  214. }
  215. else cout << "nie" << endl;
  216.  
  217. if (CzyZawiera(tabela2, tabela))
  218. {
  219. cout << "tak" << endl;
  220. }
  221. else cout << "nie" << endl;
  222. cout << index(tabela, 8) << endl;
  223.  
  224. vector <int> unik = Unikalnosc(tabela);
  225. wypisz(unik);
  226. cout << endl;
  227.  
  228. vector <int> podzielenie = wybierz(tabela, 8);
  229. wypisz(podzielenie);
  230. cout << endl;
  231.  
  232. wdp zm = czestosc(tabela);
  233. wypisz(zm);
  234. cout << endl;
  235.  
  236. vector <int> losowe = generuj(10, 20, 30);
  237. wypisz(losowe);
  238. cout << endl;
  239.  
  240. cout << SumaOdMin(tabela2);
  241. cout << endl;
  242. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement