Implement a class that supports an extendable variant

Assignment Help C/C++ Programming
Reference no: EM13919391

In this exercise you will practice basic C++ class construction, and memory allocation and deallocation. You are asked to implement a class that supports an extendable variant of a sparse matrix (look it up). A matrix is a two-dimensional array. A matrix is sparse when many positions in the array are not important. In usual sparse matrices entries are not important when they are 0. In our version of the saprse matrix we distinguish between existing positions and not existing positions. Existing positions in our sparse matrices could contain the entry 0. In both cases, allocating memory to the unimportant positions in the matrix is a waste of memory. You could think about a database containing students and their grades in modules. Every row in the database corresponds to a student and every column corresponds to a module. Then, grades are to be stored only in modules that the student did take. The entry that corresponds to a module that the student did not take should not exist. In particular, 0 is a possible grade in a module that a student takes.

To summarize, you are going to implement a sparse matrix that stores integers (including 0) in some of the positions of a (relatively large) two-dimensional array. Technically, I have created the header file for the sparse matrix. You have to complete it with additional members. You will have to only submit two files: Sparse.cpp and Sparse.hpp. You will probably want to create your own main.cpp file that includes a program that actually executes your Sparse.cpp. You will not be submitting this file(main.cpp). I also supply a Makefile that you should (must) use for compilation. The Makefile includes a compilation of a main.cpp. The header file includes detailed descriptions of the functions that are required that you implement. Specific requirements: The way to implement this is by having a two-dimensional linked-list (look up linked-list). This essentially means that your matrix is a collection of cells (see the provided Cell.hpp and Cell.cpp) that are connected by pointers to the cells above, below, to their left, and to their right.

This means that your memory requirements are proportional to the number of elements stored in the matrix. Also, every operation that you perform will take time that is proportional to the number of elements in the matrix. The disadvantage of this option is that it is quite complicated to implement. Notice that I set up Cell to be ready for implementing a doubly linked list. Solutions implementing singly-linked data structures will not incur a penalty. However, they will provide fast access in one direction only. In any case, you have to implement the member function whatDidIImplement(). This function returns a value that identifies your solution in this case its "two-dimensional linked-list".

If your function returns a value that does not match your implementation strategy it could cost you up to 5 points. Materials provided: Cell.hpp Cell.cpp Sparse.hpp main.cpp - a small example prepared by Paula showing how to use Cells to create a linked list. main1.cpp - an alternative main file that includes a small test of Sparse. Prepared by Paula. mmain.cpp - compilation tester. Makefile tests.cpp - test cases Avoid Compilation Problems: In order to make sure that your program compiles you should put in a fresh directory your submission (Sparse.cpp, Sparse.hpp), the Makefile from above, Cell.cpp and Cell.hpp from above, and the file mmain.cpp from above. Change the name of mmain.cpp to main.cpp and compile using make. This should produce an executable called main. It will most likely crash (and that's fine). But it should compile! Operating Sytem Used Linux g++ complier.

Attachment:- Assignment.zip

Reference no: EM13919391

Questions Cloud

Perform an analysis of tjs product-mix problem : Perform an analysis of TJ's product-mix problem, and prepare a report for TJ's president that summarizes your findings. Be sure to include information and analysis.
Constructing a confidence interval for a mean : What is meant by the term "90% confident" when constructing a confidence interval for a mean?
Typical firm in hong kong : Using the Internet, library, or other resources, research and briefly explain 2-3 methods currently being used to encourage economic growth for the typical firm in Hong Kong and for the typical firm in Singapore.
Suppose you bought a bond with a coupon rate : Suppose you bought a bond with a coupon rate of 8.9 percent one year ago for $912. The bond sells for $956 today. Required: (a) Assuming a $1,000 face value, what was your total dollar return on this investment over the past year? What was your total..
Implement a class that supports an extendable variant : In this exercise you will practice basic C++ class construction, and memory allocation and deallocation. You are asked to implement a class that supports an extendable variant of a sparse matrix (look it up). A matrix is a two-dimensional array
Compute the percentage total return-capital gains yield : Suppose a stock had an initial price of $121 per share, paid a dividend of $3.30 per share during the year, and had an ending share price of $153. Compute the percentage total return. What was the dividend yield? What was the capital gains yield?
An investment requires an initial outlay : An investment requires an initial outlay of $50,000, and is expected to generate cash flows of $13,000 a year for eight years. The required return is 11%. Determine the replacement chain NPV for this investment to compare it to a mutually exclusive a..
Which investment do you recommend company undertake : Two investments, C and D are being evaluated. They are mutually exclusive. Investment C has a higher NPV using any discount rate between zero and 9%, while D has a higher NPV using any discount rate between 9.1% and 15%. Which investment do you recom..
Solving simultaneous differential equations : In algebra, we often have to solve simultaneous differential equations. If the equations are linear and independent, there is a unique solution when the number of equations equals the number of variables.

Reviews

Write a Review

C/C++ Programming Questions & Answers

  Supposed to swap numbers

The program is supposed to swap numbers, but I am stuck something is wrong! It does not swap them it repeats the second number, please help to fix! Thanks, this is in C++.

  Create author-filename

FILENAME: title of the source file,SPECIFICATION: description of the program

  Design a class called complex

Design a class called Complex. The class enables operations on so called complex numbers. These are numbers of the form realPart + imaginaryPart *i, where the i has the value

  Which of the following is a pure abstract function

Which of the following is a pure abstract function?

  Documenting the testing of c program

Writing a test plan and writing a C program with reasonable comments and sensible variable names - Test and documenting the testing of your c program

  Implement function types that takes no input

Implement function types that takes no input, declares 3 variables of type char, 3 of type short, 3 of type int, and 3 of type double.

  How to declare and use single dimension arrays

How do you declare and use single dimension arrays? How do you perform basic sort and search routines on arrays?

  Write the code and output screendesign a base class shape

write the code and output screendesign a base class shape with virtual functionsvoid drawgrapicwindowamp win constvoid

  What is the output of this code fragment as it is written

In the code fragment below, the programmer has almost certainly made an error in the first line of the conditional statement.

  Array of integers declared-initialized to number of tickets

Array of integers named parkingTickets has been declared and initialized to number of parking tickets given out by city police each day as beginning of current year.

  Develop an application for the game of memory

Use object-oriented programming to develop an application for the game of memory. Memory consists of a 20 × 20 grid of face down cards where there is at most one pair of each card in the grid. The types of cards that are available in this versi..

  What is the size of int in a 64 bit compiler

Can you explain the question in detail - What is the size of int in a 64 bit compiler?

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd