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++;
- }
- }
- void addElemArr(int*& arr, int& size, int idx, int newElem = 0)
- {
- int* newArr{ new int[size + 1] };
- for (int i{ 0 }; i < size; ++i)
- {
- *(newArr + i + (i >= idx)) = *(arr + i);
- }
- *(newArr + idx) = newElem;
- ++size;
- delete[] arr;
- arr = newArr;
- }
- void addElemEndArr(int*& arr, int& size, int newElem = 0)
- {
- addElemArr(arr, size, size, newElem);
- }
- void delElemArr(int*& arr, int& size, int idx)
- {
- int* newArr{ new int[--size] };
- for (int i{ 0 }; i < size; ++i)
- {
- *(newArr + i ) = *(arr + i + (i >= idx));
- }
- delete[] arr;
- arr = newArr;
- }
- void delElemEndArr(int*& arr, int& size)
- {
- delElemArr(arr, size, size);
- }
- int main()
- {
- int arr1Size{ 10 };
- auto arr1{ createArr(arr1Size) };
- fillArr(arr1, arr1 + arr1Size);
- printArr(arr1, arr1 + arr1Size);
- addElemArr(arr1, arr1Size, 5, 33);
- printArr(arr1, arr1 + arr1Size);
- delElemArr(arr1, arr1Size, 5);
- printArr(arr1, arr1 + arr1Size);
- addElemEndArr(arr1, arr1Size, 42);
- printArr(arr1, arr1 + arr1Size);
- delElemEndArr(arr1, arr1Size);
- printArr(arr1, arr1 + arr1Size);
- deleteArr(arr1);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement