Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Continuing writing the CMatrix class in Question 2 from Assignment 2, we will expand it in this question. Lets call the new class CMatrixExt. All

Continuing writing the CMatrix class in Question 2 from Assignment 2, we will expand it in this question. Lets call the new class CMatrixExt. All requirements regarding element indices are the same as before. Data members are the same as before. The following is the list of member functions. Note that some of them can be borrowed from your answer in Assignment 2. int **allocateMatrixMemory(int n): to allocate an n x n array of integers. void deallocateMatrixMemory(int **M, int n): to deallocate an n x n array of integers. CMatrixExt(int n = 2): constructor. CMatrixExt(const CMatrixExt &M): copy constructor: copy matrix M to this current matrix using deep copying. ~CMatrixExt(): destructor. int getDimension(void): to return the dimension: n for the matrix n x n. int getElementAt(int i, int j): to return the element at (i, j). Check whether the indices are OK. The indices start from 1 and will be checked. int replaceElementAt(int i, int j, int newint): to replace the element at (i, j) with the new element. Check whether the indices are OK. Return the old element. void swapElementsAt(int i1, int j1, int i2, int j2): to swap the element at (i1, j1) with the element at (i2, j2). Chech whether the indices are OK. void resizeMatrix(int newsize): to resize the matrix with the new size Copy the original elements if necessary. void readMatrix(void): void printMatrix(void): to read or print out the matrix from cin or to cout. Read elements and print out elements by following the row-major order. void makeIdentity(): to make the current matrix an identity, i.e., change all the elements on the diagonal to 1 and change all the other element to 0. void copyMatrix(const CMatrixExt &M) : to take one CMatrixExt parameter and copy it to this current copyMatrix CMatrixExt object. Use assert to ensure that the dimensions of the two matrices are compatible. CMatrixExt addMatrix(const CMatrixExt &M) : to take one CMatrixExt parameter and return the result that is the sum between the current object and the supplied object. Use assert to ensure that the dimensions of the two matrices are compatible. CMatrixExt addMatrix(int i): to add x to each element of the current matrix and return the result. CMatrixExt subtractMatrix(const CMatrixExt &M) : to take one CMatrixExt parameter and return the result that is the difference between the current object and the supplied object. Use assert to ensure that the dimensions of the two matrices are compatible. CMatrixExt subtractMatrix(int x): to substract x from each element of the current matrix and return the result. CMatrixExt multiplyMatrix(const CMatrixExt &M) : to take one additional CMatrix parameter, compute the product of the current matrix with it, and return the result. Use assert to ensure that the dimensions of the two matrices are compatible. CMatrixExt multiplyMatrix(int x): to multiply each element of the current matrix by x. Return the result. Dont change the current matrix. bool isDiagonal(void): to teturn true if all the elements not on the diagonal are zeros Otherwise return false. bool isIdentity(void): to return true if all the elements on the diagonal are ones and all the elements elsewhere are zeros. Otherwise return false. bool isBigger(const CMatrixExt &M): For two matrices A and B, we say A > B, if every element of A is bigger than the corresponding element of B. Return true if the current matrix > the input matrix M. Otherwise return false. bool isSmaller(const CMatrixExt &M): For two matrices A and B, we say A < B, if every element of A is smaller than the corresponding element of B. Return true if the current matrix < the input matrix M. Otherwise return false. bool isEqual(const CMatrixExt &M): For two matrices A and B, we say A = B, if every element of A is equal to the corresponding element of B. Return true if the current matrix = input matrix M. Otherwise return false Create a test program called testMatrixEWhat ixt.cc. Your test should show that the member functions of the matrix class work as expected. One good way to do this: create two 3 x 3 matrices, read elements in them, do additions, subtractions and multiplication between the two matrices or between a matrix and an integer. Each time print the result out to verify (show) that your program works.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Oracle RMAN For Absolute Beginners

Authors: Darl Kuhn

1st Edition

1484207637, 9781484207635

More Books

Students also viewed these Databases questions

Question

Understand how customers respond to effective service recovery.

Answered: 1 week ago

Question

Know the principles of effective service recovery systems.

Answered: 1 week ago