Advertisement
avr39-ripe

pointersLectureBBR192

Mar 25th, 2020
253
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.18 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. int& maxArr(int* arr, int size)
  24. {
  25.     int maxIdx{ 0 };
  26.     for (int i{ 0 }; i < size; ++i)
  27.     {
  28.         maxIdx = arr[maxIdx] > arr[i] ? maxIdx: i;
  29.     }
  30.     return arr[maxIdx];
  31. }
  32.  
  33. int main()
  34. {
  35.     int x{ 10 };
  36.     int y{ 20 };
  37.     int* const ptrX{ &x };
  38.     int& refX{ x };
  39.    
  40.     int arr[5]{ 10,30,67,1,4 };
  41.  
  42.     std::cout << arr[2] << '\n';
  43.  
  44.     maxArr(arr, 5) += 100;
  45.    
  46.     std::cout <<  arr[2] << '\n';
  47.  
  48.     //int* ptrX{ &x };
  49.     //int* ptrY{ &y };
  50.  
  51.     //std::cout << "x = " << x << " y= " << y << '\n';
  52.     //swapVal(x, y);
  53.     //std::cout << "x = " << x << " y= " << y << '\n';
  54.    
  55.     //std::cout << "x = " << x << " y= " << y << '\n';
  56.     //std::cout <<  << '\n';
  57. }
  58.  
  59.  
  60. #include <iostream>
  61.  
  62. void swapVal(int a, int b)
  63. {
  64.     int tmp{};
  65.     std::cout << "a = " << a << " b= " << b << '\n';
  66.     tmp = a;
  67.     a = b;
  68.     b = tmp;
  69.     std::cout << "a = " << a << " b= " << b << '\n';
  70. }
  71.  
  72. void swapValPtr(int* a, int* b)
  73. {
  74.     int tmp{};
  75.     std::cout << "a = " << *a << " b= " << *b << '\n';
  76.     tmp = *a;
  77.     *a = *b;
  78.     *b = tmp;
  79.     std::cout << "a = " << *a << " b= " << *b << '\n';
  80. }
  81.  
  82. int* foo()
  83. {
  84.     int bad{ 33 };
  85.     return &bad;
  86. }
  87.  
  88. void boo()
  89. {
  90.     int arr[1000]{};
  91. }
  92.  
  93. int main()
  94. {
  95.     int* ptr = foo();
  96.     std::cout << *ptr << '\n';
  97.     boo();
  98.  
  99.  
  100.     int x{ 10 };
  101.     int y{ 20 };
  102.        
  103.     //int* ptrX{ &x };
  104.     //int* ptrY{ &y };
  105.  
  106.     std::cout << "x = " << x << " y= " << y << '\n';
  107.     swapValPtr(&x, &y);
  108.     std::cout << "x = " << x << " y= " << y << '\n';
  109.    
  110. }
  111.  
  112.  
  113.  
  114.  
  115. #include <iostream>
  116.  
  117. int* createArr(int size)
  118. {
  119.     return new int[size];
  120. }
  121.  
  122. void deleteArr(int* ptr)
  123. {
  124.     delete[] ptr;
  125. }
  126.  
  127. void fillArr(int* ptr, int size)
  128. {
  129.     for (auto elP{ ptr }; elP != (ptr + size); *elP++ = rand() % 30);
  130. }
  131.  
  132. void printArr(int* ptr, int size)
  133. {
  134.     for (auto elP{ ptr }; elP != (ptr + size); ++elP)
  135.     {
  136.         std::cout << *elP << ' ';
  137.     }
  138.     std::cout << '\n';
  139. }
  140.  
  141. int main()
  142. {
  143.     int size{};
  144.     std::cout << "Enter array size\n";
  145.     std::cin >> size;
  146.  
  147.     int size1{};
  148.     std::cout << "Enter array1 size\n";
  149.     std::cin >> size1;
  150.  
  151.     int* ptr = createArr(size);
  152.     fillArr(ptr, size);
  153.     int* ptr1 = createArr(size1);
  154.     fillArr(ptr1, size1);
  155.  
  156.     printArr(ptr, size);
  157.     printArr(ptr1, size1);
  158.  
  159.     deleteArr(ptr);
  160.     deleteArr(ptr1);
  161.  
  162.     int arr[5]{ 20,45,67,8,1 };
  163.     printArr(arr, 5);
  164.     fillArr(arr, 5);
  165.     printArr(arr, 5);
  166.  
  167.  
  168.     //int* ptr{ new int[size] {} };
  169.     //int* const begin{ ptr };
  170.     //int* const end{ ptr + size };
  171.  
  172.     //for (; ptr != end; ++ptr)
  173.     //{
  174.     //  std::cout << (*ptr = rand() % 30) << ' ';
  175.     //}
  176.     //std::cout << '\n';
  177.  
  178.     //delete[] begin;
  179.  
  180.     //const int arrSize{ 10 };
  181.     //int arr[arrSize]{ 1,2,3,4,5,6,7,8,9,10 };///100[1]... 136[10] 140
  182.     //int tmp{};
  183.     ////for (int head{0}, tail{ arrSize - 1 }; head < tail; ++head, --tail)
  184.     ////{
  185.     ////    tmp = *(arr + head);
  186.     ////    *(arr + head) = *(arr+tail);
  187.     ////    *(arr+tail) = tmp;
  188.     ////}
  189.     //int* begin{ arr };
  190.     //int* end{ arr + arrSize - 1 };
  191.  
  192.     //while (begin < end)
  193.     //{
  194.     //  tmp = *begin;
  195.     //  *begin = *end;
  196.     //  *end = tmp;
  197.     //  ++begin;
  198.     //  --end;
  199.     //}
  200.  
  201.  
  202.     //for (auto elP{ arr }; elP != (arr + arrSize); ++elP)
  203.     //{
  204.     //  std::cout << *elP << ' ';
  205.     //}
  206.     //std::cout << '\n';
  207.  
  208.  
  209.     //int* ptr{ arr + arrSize - 1 };
  210.  
  211.     //std::cout << &arr[0] << " <==> " << arr << " <==> " << ptr << '\n';
  212.     //
  213.     //for (; ptr != (arr + arrSize); ++ptr)
  214.     //{
  215.     //  std::cout << *ptr << ' ';
  216.     //}
  217.     //std::cout << '\n';
  218.     //std::cout << *ptr << ' ';
  219. }
  220.  
  221. //ctrl + K + C
  222. //ctrl + K + U
  223. //int num{ 65535 };
  224. //for (int i{ 0 }; i < 4; ++i)
  225. //{
  226. //  std::cout << (int)*((uint8_t*)&num + i) << '\n';
  227. //}
  228.  
  229. //A[N]{ 1,1,3,5,8,3,9,0,3 }
  230. //B[M]{ 2,2,4,2,7,9,0,1,4 }
  231. //C[3]{ 3,5,8 }
  232. //D[]{ 3,5,8 }
  233. //
  234. //A[N]{ 0,1,1,3,3,3,5,8,9 }
  235. //B[M]{ 0,1,2,2,2,4,4,7,9 }
  236. //
  237. //AU[NU]{ 0,1,3,5,8,9 }
  238. //BU[MU]{ 0,1,2,4,7,9 }
  239. //
  240. //C[NU]{ 3,5,8 }
  241. //CR[3]{ 3,5,8 }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement