Description
Develop a program that mimics some of the functionalities of an ArrayList in Java. Your program should maintain a pointer array of doubles and be able to perform the following functions:
- void insert(int index, double num, double *&arr, int &size)
- Adds an element (num) to the array (arr) at a given position (index) and updates the size.
- You may allow the user to add to the immediate end of the array (at position n for an array of n elements) but not past. You should print an error message if they try to print beyond these bounds.
- void remove(int index, double *&arr, int &size)
- Removes an element from the array (arr) at a given position (index) and updates the size.
- If index is out of the bounds of the arr then an error message should be printed.
- int get(int index, double *arr, int size)
- Returns the element at the given position (index).
- Should check if the index given is outside the bounds of the array. If it is out of bounds an error message should be printed.
- void clear(double *&arr, int &size)
- Clears all elements of the array (arr) and updates the size (size) to be 0.
- int find(double num, double *arr, int size)
- Returns the first index in which a given element (num) is found in the array (arr).
If not found -1 is returned.
- bool equals(double *arr1, int size1, double *arr2, int size2)
- Returns true if the contents of the two arrays are equal and false if they are not equal.
- void init(double *arr, int size)
- Populates the elements of the array (arr) with input from the user (or via file redirection).
- void print(double *arr, int size)
- Prints the elements of the array.




