Starting from:

$30

CSCE240 Project 3 -Pointer “ArrayList” Solved



Topics Covered​:  

●     Master the use of functions in C++.  

●     Utilize call-by-value and call-by-reference implementation of functions.

●     Demonstrate mastery of pointer arrays.  

●     Become familiar with dynamic memory allocation using pointers.

●     Basic use of header file.

 

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:  

1.  void insert(int index, double num, double *&arr, int &size) 

a.    Adds an element (​num​) to the array (​arr​) at a given position (​index​) and updates the size.  

b.    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.  

2.  void remove(int index, double *&arr, int &size) 

a.    Removes an element from the array (​arr​) at a given position (​index​) and updates the size.  

b.    If index is out of the bounds of the arr then an error message should be printed.  

3.  int get(int index, double *arr, int size) 

a.    Returns the element at the given position (​index​).  

b.    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.  

4.  void clear(double *&arr, int &size) 

a.    Clears all elements of the array (​arr​) and updates the size (​size​) to be 0.

5.  int find(double num, double *arr, int size) 

a.    Returns the first index in which a given element (​num​) is found in the array (​arr​).

If not found -1 is returned.  

6.  bool equals(double *arr1, int size1, double *arr2, int size2)

a.    Returns true if the contents of the two arrays are equal and false if they are not equal.  

7.  void init(double *arr, int size) 

a.    Populates the elements of the array (​arr​) with input from the user (or via file redirection).  

8.  void print(double *arr, int size) 

a.    Prints the elements of the array.  

 

Additional Specifications: 

●     I have provided two files: sampleMain.cpp and myArray.h

○     I will be using sampleMain.cpp to test your program so you should test using that.  

○    In myArray.h you should write ALL YOUR CODE. This is the file that you will be required to submit. DO NOT RENAME THIS FILE!  

●     DO NOT USE GLOBAL VARIABLES.

●     You should check your code with Valgrind for memory leaks. You will get points off for both memory leaks as well as errors reported in Valgrind.  

●     Your program should consist of a header that contains the following information:

○     First name and last name of the programmer.  

                        ○    Date and time of the program completion.

                        ○    A brief description of the program function.

                        ○    Input requirements and format.

                        ○    The output of the program.

○    Any additional needed comments (e.g. related to compilation, execution or other requirements).

●     Each function needs to be properly commented.

○     Your comments need to include a description of the function.

                        ○    Description of the inputs.

                        ○    Description of the output.

○    Any additional notes assisting future programmers to comprehend the complex portions of your functions.  

●     Make sure your program compiles and runs on one of the Linux machines in the Linux lab before you submit.

More products