Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

c++ use this template: #include using namespace std; class Matrix { private : // declare member fields for row, columns public : // declare member

c++

use this template:

#include

using namespace std;

class Matrix

{

private:

// declare member fields for row, columns

public:

// declare member field for matrix data (int **), It would be better practice to put this under

// private and create a getter for it.

// declare non-default constructor, two parameters for row and column size

// declare destructor

// declare accessor functions ("getter" functions)

// declare functions to perform calculations and display output

Matrix* add(const Matrix&); // const is optional, but good practice. if you choose not to use it, make sure you update the definition below.

// as detailed in assignment

};

// Write function bodies for all public Matrix functions

//

// constructor dynamically allocates 2D array to hold matrix data based on row/col size

// destructor free up dynamically allocated memory using delete [], remember the "inside-out" rule

// add member function

Matrix* Matrix::add(const Matrix& m)

{

Matrix *sum = new Matrix( , ); // pass in correction information to invoke our constructor

// do calculations

return sum;

}

// remainder of calculations and member functions (like print)

int main()

{

// Prompt user for information for first matrix

// Collect input and create instance of Matrix

// Prompt user for information for second matrix

// Collect input and create second instance of Matrix

// Perform calculations as described in assignment using member functions

// Be sure to check matrices size for add/sub, and then mult

Matrix *sum = ; // invoke add function here

// Be sure to output details about calculation being performed and the results

return 0;

}

image text in transcribedimage text in transcribed

1. (60 points) Matrix Class A matrix is rectangular array of items laid out in rows and columns. The dimensions, or size, of a matrix can be expressed as mx n or m-by-n, where m is the number of rows in the matrix and n is the number of columns in the matrix. For example, consider A, which is the following 2 x 4 matrix: 15 1 3 4 il 2 4 The individual elements in A can be expressed as dij, where i (the row) is a number from 1 to m and j (the column) is a number from 1 to n. For example, the value at element 01,3 is 2. Write a program (called matrix.cpp) that does that following: 1. Implement a class called Matrix that: . Contains private member fields for the number rows and columns of the matrix Contains a public member field to contain the matrix elements o This should be a 2D array of integers that is implemented dynamically Contains five public functions o add function, that adds two same sized matrices together and returns a new matrix with the result o subtract function, that subtracts two same sized matrices together and returns a new matrix with the result o multiply function, that performs proper matrix multiplication and returns a new matrix with the result scalar function, that performs scalar multiplication with an integer value and a matrix, and returns a new matrix with the result o print function, that outputs the contents of the matrix in tabular form that matches the dimensions of the matrix Contains a non-default constructor o Constructor that accepts size information, and dynamically creates the matrix Contains a destructor o That properly handles discarding the dynamically created 2D array (using delete and setting the member field to null . 2. Prompts the user for: The dimensions of a first matrix The contents of the first matrix, which is then filled into the newly created matrix object instance. The dimensions of a second matrix The contents of the second matrix, which is used to fill the newly created matrix instance Sample prompts with appropriate user responses: Number of Rows in Matrix 1: 5 Number of Columns in Matrix 1: 2 Values of Matrix 1 (expecting 10): 6 7 10 3 5 31 0 9 2 Note: You must use the above format for entering the values of the matrix. When entering values to fill a matrix, all values should be provided on one line. 3. Performs the following calculations and prints each result using the print function . Each of the four matrix mathematical methods should be called, each result stored in a new object If the dimensions of the two matrices involved do not allow for the operation to be performed, skip performing this calculation, and display a message stating that step has been skipped. o For example, if I have a 3x4 matrix and a 4x2 matrix, I cannot add or subtract these together, but I can perform multiplication Each calculation should be printed with a full explanation For scalar multiplication, you can either use an integer literal or generate a random integer. Just be sure to print the value of the integer value as part of the output when performing this function. The calculation being performed should be explained; and the contents of each matrix or value involved should be printed and identified. . O O

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

Professional Microsoft SQL Server 2014 Integration Services

Authors: Brian Knight, Devin Knight

1st Edition

1118850904, 9781118850909

More Books

Students also viewed these Databases questions