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
Step: 1
include include using namespace std class MatrixType static const int MAXROWS 10 static const int MA...Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started