Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- int* createArr(int size)
- {
- return new int[size] {};
- }
- void deleteArr(int* ptr)
- {
- delete[] ptr;
- }
- void printArr(const int* begin, const int* const end)
- {
- while (begin != end)
- {
- std::cout << *begin++ << ' ';
- }
- std::cout << '\n';
- }
- void fillArr(int* begin, const int* const end, int start, int stop)
- {
- while (begin != end)
- {
- *begin++ = (rand() % (stop - start) + start);
- }
- }
- void fillArr(int* begin, const int* const end, int val)
- {
- while (begin != end)
- {
- *begin++ = val;
- }
- }
- void fillArr(int* begin, const int* const end)
- {
- int val{ 1 };
- while (begin != end)
- {
- *begin++ = val++;
- }
- }
- int main()
- {
- int arr1Size{ 10 };
- auto arr1{ createArr(arr1Size) };
- fillArr(arr1, arr1 + arr1Size);
- printArr(arr1, arr1 + arr1Size);
- // add new element to array tail
- //int* newArr{ createArr(arr1Size + 1) };
- int* newArr{ new int[arr1Size + 1]{} };
- // copy old array content to new array
- for (int i{ 0 }; i < arr1Size; ++i)
- {
- newArr[i] = arr1[i];
- }
- //deleteArr(arr1);
- delete[] arr1;
- arr1 = newArr;
- ++arr1Size;
- printArr(arr1, arr1 + arr1Size);
- // delete element from array tail
- newArr = new int[--arr1Size];
- for (int i{ 0 }; i < arr1Size; ++i)
- {
- newArr[i] = arr1[i];
- }
- delete[] arr1;
- arr1 = newArr;
- printArr(arr1, arr1 + arr1Size);
- deleteArr(arr1);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement