Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

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... 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

Applied Linear Algebra

Authors: Peter J. Olver, Cheri Shakiban

1st edition

131473824, 978-0131473829

More Books

Students also viewed these Programming questions

Question

Calculate the missing values

Answered: 1 week ago