Advertisement
avr39ripe

PV024pointerIntoFunc

Dec 3rd, 2020
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.42 KB | None | 0 0
  1. #include <iostream>
  2.  
  3.  
  4. int* createArr(int arrSize)
  5. {
  6.     return new int[arrSize];
  7. }
  8.  
  9. void deleteArr(int* arr)
  10. {
  11.     delete[] arr;
  12. }
  13.  
  14. void randomizeArr(int* arr, int arrSize, int minVal, int maxVal)
  15. {
  16.     for (int i{ 0 }; i < arrSize; ++i)
  17.     {
  18.         arr[i] = rand() % (maxVal - minVal) + minVal;
  19.     }
  20. }
  21.  
  22. void printArr(int* arr, int arrSize)
  23. {
  24.     for (int i{ 0 }; i < arrSize; ++i)
  25.     {
  26.         std::cout << arr[i] << ' ';
  27.     }
  28.     std::cout << '\n';
  29. }
  30.  
  31. // arr = appendArr(arr, size, size1);
  32. // arr = appendArr(arr, &size, &size1);
  33. int* appendArr(int* arrOld, int* arrSize, int* newSize)
  34. {
  35.     int* tmp{ new int[*newSize]{} };
  36.  
  37.     for (int i{ 0 }; i < *arrSize; ++i)
  38.     {
  39.         tmp[i] = arrOld[i];
  40.         //*(tmp + i) = *(arr + i);
  41.     }
  42.  
  43.     delete[] arrOld;
  44.     arrOld = tmp;
  45.     *arrSize = *newSize;
  46.  
  47.     printArr(arrOld, *arrSize);
  48.     return arrOld;
  49. }
  50.  
  51. int main()
  52. {
  53.     int size;
  54.     int size1;
  55.  
  56.     std::cout << "Enter array1 size\n";
  57.     std::cin >> size;
  58.  
  59.     std::cout << "Enter array1 size1\n";
  60.     std::cin >> size1;
  61.  
  62.     int* arr{ createArr(size) };
  63.     randomizeArr(arr, size, 0, 10);
  64.     printArr(arr, size);
  65.  
  66.     std::cout << "Resizing arr from " << size << " elements to " << size1 << " elements...\n";
  67.  
  68.     arr = appendArr(arr, &size, &size1);
  69.     std::cout << "size = " << size << '\n';
  70.     printArr(arr, size);
  71.  
  72.     deleteArr(arr);
  73.    
  74.     return 0;
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement