Chat with us, powered by LiveChat Write the program using C++ | Writedemy

Write the program using C++

Write the program using C++

159.234 Assignment 4
Deadline: Thursday 15th May 2014 (23:59)
Evaluation: 10 marks – which represents 4% of your final grade
Late Submission: 0.5 mark deduction per hour (or fraction of hour) it is late
Teams: The assignment can be done individually or in teams of up to two people (one
assignment per team submitted including all student names in the source code).
Purpose: Practice with designing and using template classes, memory allocation.

Problem to solve:

You will design a template class. The name of the template class isMyVector. The classMyVectoris a simplify version of vector that models a dynamic array. You may assume that thetype“T” supports the assignment operator“operator=()”.

MyVector class must have the following private members:int capacity;

Capacity is the maximum number of items that can be stored in the MyVector before reallocation occurs.

int size;

Size is the actual number of items in the MyVector.

T *itemPtr;

itemPtr is a pointer to an array of items of type T.

MyVector class must have the following constructors:

MyVector();

Default constructor to create an empty MyVector, where size and capacity are zero and NO memory is allocated for the array.

MyVector(int num);

Custom constructor that creates MyVector with num items. Each item is initialised by its default constructor.

MyVector(const MyVector<T>& vec);

Copy constructor.

MyVector class must have destructor:

~MyVector();

Free allocated memory space.

MyVector class must have the following Member functions:

MyVector<T>& operator=(const MyVector<T>& myvec);

Assign the items of the MyVector myvec. You should checks for self assignment and allocate memory if needed.

T& operator[] (int n);

Returns the value at index n. The function checks for range error using assert().

void add(const T& item);

Add the items to the end of MyVector, size increase by 1.

void clear();

Clear the items in the MyVector, so it is empty. Does not necessarily free memory.

 

159.234 2014 Semester 1 Assignment 4

int length() const;

Returns the number of actual items in the MyVector.

int memSize() const;

Returns the size of the memory space allocated for the MyVector.

bool isEmpty() const;

Returns true if the MyVector has no item and false otherwise.

Display all Names and student ID of team members when the program first started like in the example. You may create a displayInfo() for that,

The following program:void displayInfo() {

cout << “—————————————- Mouse, Mickey, 12345678″ ” << endl;
cout << “ << endl;
cout << “ Duck, Donald, 98765432″ << endl;
cout << “ 159.234 Assignment 4 2014 S1 Albany” << endl;
cout << “—————————————- ” << endl;
cout << endl;

}

template <class T>

void printMyVector( MyVector<T> v ){ for(int j=0;j<v.length();j++){

cout << v[j] << ” “;

}

cout << endl;

}

int main() { displayInfo(); MyVector<int> v;

cout << “Create MyVector” << endl;

cout << “length: ” << v.length() << ” memSize: ” << v.memSize() << endl; cout << endl;

cout << “Add 2 items” << endl; v.add(10);

v.add(11);

// display items in v

for (int i=0; i<v.length(); i++) { cout << v[i] << ” “;

}

cout << endl;

cout << “length: ” << v.length() << ” memSize: ” << v.memSize() << endl; cout << endl;

// clear v v.clear();

cout << “Clear” << endl;

cout << “length: ” << v.length() << ” memSize: ” << v.memSize() << endl; cout << endl;

cout << “Add 15 items” << endl; for (int i=0; i<15; i++) {

v.add(20+i);

}

printMyVector(v);

cout << “length: ” << v.length() << ” memSize: ” << v.memSize() << endl; cout << endl;

cout << “Perform assignment” << endl;

MyVector<int> v2;

 

159.234 2014 Semester 1 Assignment 4

v2 = v;

cout << “v2:” << endl; printMyVector(v2);

}

Should produce the output:

==========================================

Mouse, Mickey, 12345678

Duck, Donald, 98765432

159.234 Assignment 4 2014 S1 Albany

==========================================

Create MyVector length: 0 memSize: 0

Add 2 items
10 11
length: 2 memSize: 10
Clear
length: 0 memSize: 10
Add 15 items 28 29 30 31 32 33 34
20 21 22 23 24 25 26 27
length: 15 memSize: 20
Perform assignment
v2: 21 22 23 24 25 26 27 28 29 30 31 32 33 34
20

Hand-in: Submit a4.cppelectronically on stream.

1.Programs that do not compile in the lab, using gcc, get 0 marks.

2.Put your Name (both if done in a team) and Student ID on top of the program using comment. Like,

/*

159.234 Assignment 4 Semester 1 2014 Submitted by: Mouse, Mickey, 12345678

and Duck, Donald, 98765432

*/

3.Marks will be allocated for: correctness, completeness, no code duplication, use of C++ tools, documentation, clear on screen output display

4.When working in teams (at most two students per team), send one solution file per team.

If you have any questions about this assignment, please ask the lecturer.

Our website has a team of professional writers who can help you write any of your homework. They will write your papers from scratch. We also have a team of editors just to make sure all papers are of HIGH QUALITY & PLAGIARISM FREE. To make an Order you only need to click Ask A Question and we will direct you to our Order Page at WriteDemy. Then fill Our Order Form with all your assignment instructions. Select your deadline and pay for your paper. You will get it few hours before your set deadline.

Fill in all the assignment paper details that are required in the order form with the standard information being the page count, deadline, academic level and type of paper. It is advisable to have this information at hand so that you can quickly fill in the necessary information needed in the form for the essay writer to be immediately assigned to your writing project. Make payment for the custom essay order to enable us to assign a suitable writer to your order. Payments are made through Paypal on a secured billing page. Finally, sit back and relax.

Do you need an answer to this or any other questions?

About Writedemy

We are a professional paper writing website. If you have searched a question and bumped into our website just know you are in the right place to get help in your coursework. We offer HIGH QUALITY & PLAGIARISM FREE Papers.

How It Works

To make an Order you only need to click on “Order Now” and we will direct you to our Order Page. Fill Our Order Form with all your assignment instructions. Select your deadline and pay for your paper. You will get it few hours before your set deadline.

Are there Discounts?

All new clients are eligible for 20% off in their first Order. Our payment method is safe and secure.

Hire a tutor today CLICK HERE to make your first order