Question: Many mathematical problems require the addition, subtraction, and multiplication of two matrices. Write an ADT Matrix. You may use the following class definition: const int

Many mathematical problems require the addition, subtraction, and multiplication of two matrices. Write an ADT Matrix. You may use the following class definition:

const int MAX_ROWS = 10;

const int MAX_COLS = 10;

class MatrixType

{

public:

MatrixType();

void MakeEmpty();

void SetSize(int rowsSize, int colSize);

void StoreItem(int item, int row, int col);

void Add(MatrixType otherOperand, MatrixType& result);

void Sub(MatrixType otherOperand, MatrixType& result);

void Mult(MatrixType otherOperand, MatrixType& result);

void Print(ofstream& outfile);

bool AddSubCompatible(MatrixType otherOperand);

bool MultCompatible(MatrixType otherOperand);

private:

int values[MAX_ROWS][MAX_COLS];

int numRows;

int numCols;

};

Before you start looking at how to implement this class, you must determine the appropriate

preconditions and postconditions for each operation. Note that the class provides the member

functions to allow the client to determine if the binary matrix operations are possible. Write a

menu driven testing program to test your MatrixType.Page 2 of 3

Menu Driven Testing Interface:

The menu should contain the following options:

GetNewMatrix <matrix>

Number of rows and number of columns are on the next line.

Number of column values on the next number of rows lines

AddMatrices <matrix> <matrix> <matrix>

Add first and second, leaving the result in the third

SubMatrices <matrix> <matrix> <matrix>

Subtract second from first, leaving the result in the third

MultiplyMatrices <matrix> <matrix> <matrix>

Multiply first and second, leaving the result in the third

PrintMatrix <matrix>

Print the matrix one row per line on DataOutPartA.txt

Quit

Processing Notes:

(i) <matrix> is a number between 0 and 9. This value is used as an index into an array of

MatrixType.

(ii) The main function must include a Switch statement where the case expression is a userdefined enumeration type. This means that the command is recognized and its enumeration

equivalent is sent back to be used in the case statement.

(iii) The driver must ensure the preconditions of the member functions of MatrixType. Throw

an exception if an error occurs and continue processing.

Upload in the URCourses:

(i) Source Code (Assignment1PartA.CPP)

(ii) A DataOutPartA.txt file that your program created

(iii)The screen of your test (Assignment1PartATest.JPG)

Step by Step Solution

3.34 Rating (160 Votes )

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock

The question provided outlines the creation and implementation of an Abstract Data Type ADT for matrices as well as a menudriven program to test the functionality of various matrix operations such as ... View full answer

blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!