Advertisement
avr39-ripe

sbd192LectureReferences

Apr 4th, 2020
250
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 7.76 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. void swapVal(int& a, int& b)
  4. {
  5.     int tmp{};
  6.     std::cout << "a = " << a << " b= " << b << '\n';
  7.     tmp = a;
  8.     a = b;
  9.     b = tmp;
  10.     std::cout << "a = " << a << " b= " << b << '\n';
  11. }
  12.  
  13. void swapValPtr(int* a, int* b)
  14. {
  15.     int tmp{};
  16.     std::cout << "a = " << *a << " b= " << *b << '\n';
  17.     tmp = *a;
  18.     *a = *b;
  19.     *b = tmp;
  20.     std::cout << "a = " << *a << " b= " << *b << '\n';
  21. }
  22.  
  23.  
  24. int* createArr(int size)
  25. {
  26.     int* ptr{ new int[size] };
  27.     for (int i{ 0 }; i < size; ptr[i] = i++);
  28.     return ptr;
  29. };
  30.  
  31.  
  32. void printArr(int* arr, int size)
  33. {
  34.     for (int i{ 0 }; i < size; std::cout << arr[i++] << ' ');
  35.     std::cout << '\n';
  36. }
  37.  
  38. void deleteArr(int* ptr)
  39. {
  40.     delete[] ptr;
  41. }
  42.  
  43.  
  44. //void calcElementsCount(int* arr, int arrSize, int* zero, int* pos, int* neg)
  45. //{
  46. //
  47. //    for (int i{ 0 }; i < arrSize; ++i)
  48. //    {
  49. //        if (arr[i] == 0) { ++(*zero); continue; }
  50. //        if (arr[i] > 0) { ++(*pos); continue; }
  51. //        if (arr[i] < 0) { ++(*neg);}
  52. //    }
  53. //}
  54.  
  55.  
  56. void calcElementsCount(int* arr, int arrSize, int& zero, int& pos, int& neg)
  57. {
  58.  
  59.     for (int i{ 0 }; i < arrSize; ++i)
  60.     {
  61.         if (arr[i] == 0) { ++zero; continue; }
  62.         if (arr[i] > 0) { ++pos; continue; }
  63.         if (arr[i] < 0) { ++neg; }
  64.     }
  65. }
  66.  
  67. void distributeElements(int* arr, int arrSize, int* zeroArr, int* posArr, int* negArr)
  68. {
  69.  
  70.     for (int i{ 0 }; i < arrSize; ++i)
  71.     {
  72.         if (arr[i] == 0) {*zeroArr++ = arr[i]; continue; }
  73.         if (arr[i] > 0) { *posArr++ = arr[i]; continue; }
  74.         if (arr[i] < 0) { *negArr++ = arr[i]; }
  75.     }
  76. }
  77.  
  78. void demo(int* res, char* chVal, float* fVal)
  79. {
  80.     *res = 42;
  81.     *chVal = 'a';
  82.     *fVal = 36.6;
  83. }
  84.  
  85. int maxS(int a, int b) { return a > b ? a : b; };
  86. int& max(int& a, int& b) { return a > b ? a : b; };
  87.  
  88.  
  89. int main()
  90. {
  91.     int x{ 10 };
  92.     int y{ 20 };
  93.  
  94.     //std::cout << "x = " << x << " y= " << y << '\n';
  95.     //swapVal(x, y);
  96.     //std::cout << "x = " << x << " y= " << y << '\n';
  97.  
  98.     int* ptr{ new int{42} };
  99.  
  100.     int& ref{ *ptr };
  101.  
  102.     std::cout << ref << ' ' << *ptr << '\n';
  103.  
  104.     delete ptr;
  105.  
  106.     std::cout << ref << '\n';
  107.  
  108.     int arr[5]{ 1,2,3,4,5 };
  109.     int& ref{ arr[1] };
  110.     ref = 10;
  111.     //char symb{ 'Z' };
  112.     //const int boxSize{ 334 };
  113.  
  114.     //int* ptr{ new int[5]{10,20,30,40,50} };
  115.     //char& chRef{symb};
  116.  
  117.     //const int& ref{ boxSize };
  118.  
  119.  
  120.     //arr[2] = 123;
  121.  
  122.     //std::cout << ref << ' ' << x << '\n';
  123.  
  124.     //delete[] ptr;
  125.     ////int iVal{ 0 };
  126.     ////char cVal{ 'z' };
  127.     ////float fVal{ 42.42 };
  128.  
  129.     //std::cout << iVal << ' ' << cVal << ' ' << fVal << '\n';
  130.  
  131.     //demo(&iVal, &cVal, &fVal);
  132.  
  133.     //std::cout << iVal << ' ' << cVal << ' ' << fVal << '\n';
  134.  
  135.  
  136.     //const int arrSize{ 10 };
  137.     //int* arr{ createArr(arrSize) };
  138.     //printArr(arr, arrSize);
  139.  
  140.     //const int arr1Size{ 15 };
  141.     //int* arr1{ createArr(arr1Size) };
  142.     //printArr(arr1, arr1Size);
  143.     //deleteArr(arr1);
  144.     //deleteArr(arr);
  145.  
  146.     //const int numSize{ 10 };
  147.     //int num[numSize]{ -1,4,5,-2,0,5,-2,0,6,4 };
  148.  
  149.     //int zeroSize{ 0 };
  150.     //int posSize{ 0 };
  151.     //int negSize{ 0 };
  152.     //calcElementsCount(num, numSize, zeroSize, posSize, negSize);
  153.     //
  154.     //std::cout << zeroSize << ' ' << posSize << ' ' << negSize << '\n';
  155.  
  156.     //int* zeroArr{ createArr(zeroSize)};
  157.     //int* posArr{ createArr(posSize) };
  158.     //int* negArr{ createArr(negSize) };
  159.  
  160.     //distributeElements(num, numSize, zeroArr, posArr, negArr);
  161.  
  162.     //printArr(zeroArr, zeroSize);
  163.     //printArr(posArr, posSize);
  164.     //printArr(negArr, negSize);
  165.  
  166.     //deleteArr(zeroArr);
  167.     //deleteArr(posArr);
  168.     //deleteArr(negArr);
  169.  
  170.  
  171.  
  172. }
  173. //#include <iostream>
  174. //
  175. //
  176. //void fun() { std::cout << "Fun\n"; };
  177. //void fun1() { std::cout << "Fun1\n"; };
  178. //
  179. //void funVal(int val) { std::cout << "FunVal with val = " << val << '\n'; };
  180. //void funVal1(int val) { std::cout << "FunVal1 with val = " << val << '\n'; };
  181. //
  182. //int min(int a, int b) { return a < b ? a : b; };
  183. //int max(int a, int b) { return a > b ? a : b; };
  184. //
  185. //char fun(float* fPtr, int size);
  186. //
  187. //void zero() { std::cout << "Value is zero\n"; };
  188. //void above() { std::cout << "Value is above zero\n"; };
  189. //void beyond() { std::cout << "Value is beyond zero\n"; };
  190. //
  191. //bool sortUp(int a, int b) { return a < b; };
  192. //bool sortDown(int a, int b) { return a > b; };
  193. //bool sortOdd(int a, int b) { return (a%2 == 0) and (b % 2 !=0); };
  194. //bool sortEven(int a, int b) { return (a % 2 != 0) and (b % 2 == 0); };
  195. //
  196. //void printArrRow(int* arr, int arrSize)
  197. //{
  198. //  for (int i = 0; i < arrSize; i++) { std::cout << arr[i] << ' '; }; std::cout << '\n';
  199. //}
  200. //
  201. //void printArrRowTab(int* arr, int arrSize)
  202. //{
  203. //  for (int i = 0; i < arrSize; i++) { std::cout << arr[i] << '\t'; }; std::cout << '\n';
  204. //}
  205. //
  206. //void printArrCol(int* arr, int arrSize)
  207. //{
  208. //  for (int i = 0; i < arrSize; i++) { std::cout << arr[i] << '\n'; }; std::cout << '\n';
  209. //}
  210. //
  211. //
  212. //void sortBuble(int* arr, int arrSize, bool(*sortCriteria)(int, int)=nullptr, void(*print)(int*, int)=nullptr)
  213. //{
  214. //  if (print) { print(arr, arrSize); };
  215. //  for (int head{ 0 }; head < arrSize; ++head)
  216. //  {
  217. //      for (int tail{ arrSize - 1 }; tail > head; --tail)
  218. //      {
  219. //          if ((sortCriteria and sortCriteria(arr[tail],arr[head])) or (!sortCriteria and (arr[tail] < arr[head])))
  220. //          {
  221. //              int tmp = arr[head];
  222. //              arr[head] = arr[tail];
  223. //              arr[tail] = tmp;
  224. //          }
  225. //      }
  226. //  }
  227. //  if (print) { print(arr, arrSize); };
  228. //}
  229. //
  230. //void printArr(int* arr, int arrSize)
  231. //{
  232. //  for (int i = 0; i < arrSize; i++) { std::cout << arr[i] << ' '; }; std::cout << '\n';
  233. //}
  234. //
  235. //
  236. //int arrMin(int* arr, int arrSize)
  237. //{
  238. //  int id{ 0 };
  239. //  for (int i{ 0 }; i < arrSize; ++i)
  240. //  {
  241. //      id = arr[id] < arr[i] ? id : i;
  242. //  }
  243. //  return arr[id];
  244. //}
  245. //
  246. //int arrMax(int* arr, int arrSize)
  247. //{
  248. //  int id{ 0 };
  249. //  for (int i{ 0 }; i < arrSize; ++i)
  250. //  {
  251. //      id = arr[id] > arr[i] ? id : i;
  252. //  }
  253. //  return arr[id];
  254. //}
  255. //
  256. //
  257. //int arrSum(int* arr, int arrSize)
  258. //{
  259. //  int sum{ 0 };
  260. //  for (int i{ 0 }; i < arrSize; ++i)
  261. //  {
  262. //      sum += arr[i];
  263. //  }
  264. //  return sum;
  265. //}
  266. //void forEach(int* arr, int arrSize, int(*action)(int* arr, int id))
  267. //{
  268. //  for (int i{ 0 }; i < arrSize; ++i)
  269. //  {
  270. //      if (action) { action(arr, i); };
  271. //  }
  272. //}
  273. //
  274. //int randomElement(int* arr, int id)
  275. //{
  276. //  arr[id] = rand() % 50;
  277. //  return 0;
  278. //}
  279. //
  280. //int printElement(int* arr, int id)
  281. //{
  282. //  std::cout << arr[id] << ' ';
  283. //  return 0;
  284. //};
  285. //
  286. //int main()
  287. //{
  288. //  int arrSize{ 15 };
  289. //  int* arr{ new int[arrSize] { 6,1,4,2,8,9,11,26,2,7,8,11,2,2,3 } };
  290. //
  291. // 
  292. //  forEach(arr, arrSize, printElement);
  293. //  forEach(arr, arrSize, randomElement);
  294. //  std::cout << '\n';
  295. //  forEach(arr, arrSize, printElement);
  296. //
  297. //  //const int fptrSize{ 3 };
  298. //  //int (*fptr[fptrSize])(int*, int) {  arrMax, arrMin, arrSum};
  299. // //  
  300. //
  301. //  //for (int funNum{ 0 }; funNum < fptrSize; ++funNum)
  302. //  //{
  303. //  //  std::cout << fptr[funNum](arr, arrSize) << '\n';
  304. //  //}
  305. //
  306. //  //int arrSize{ 15 };
  307. //  //int* arr{ new int[arrSize] { 6,1,4,2,8,9,11,26,2,7,8,11,2,2,3 } };
  308. //  ////printArr(arr, arrSize);
  309. //  //sortBuble(arr, arrSize,nullptr,printArrRow);
  310. //  //printArr(arr, arrSize);
  311. //
  312. //  //void (*assetValue)() { nullptr };
  313. //
  314. //  //int value{ 0 };
  315. //  //std::cout << "Enter number\n";
  316. //  //std::cin >> value;
  317. //
  318. //  ////if (value == 0) { assetValue = zero; };
  319. //  //if (value > 0) { assetValue = above; };
  320. //  //if (value < 0) { assetValue = beyond; };
  321. //
  322. //  //if (assetValue) { assetValue(); }
  323. //  //else { std::cout << "assetValue is nullptr!\n"; };
  324. //
  325. //  //char(*funPointer)(float*, int) {nullptr};
  326. //  //void (*funPtr)() { fun };
  327. //  //void (*funValPtr)(int) { funVal };
  328. //  //int(*minMaxPtr)(int, int) { min };
  329. //
  330. //  //funPtr();
  331. //  //funValPtr(33);
  332. //}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement