Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

A 1 Using the header file Matrix.h and testMatrix.cpp ( given in the assignment fo Type the implementation file Matrix.cpp . Hint: the use of

A1 Using the header file Matrix.h and testMatrix.cpp (given in the assignment fo
Type the implementation file Matrix.cpp.
Hint: the use of the float* data pointer for a matrix object can be understood with the help of the following empty
constructor function
Matrix.h = #include
#include
using namespace std;
#ifndef MATRIX_H
#define MATRIX_H
class Matrix
{
friend ostream& operator<<(ostream& out, const Matrix& srcMatrix);
public:
Matrix();
// initialize Matrix class object with rowN=1, colN=1, and zero value
Matrix(const int rN,const int cN );
// initialize Matrix class object with row number rN, col number cN and zero values
Matrix(const Matrix &srcMatrix );
// initialize Matrix class object with another Matrix class object
Matrix(const int rN, const int cN, const float *srcPtr);
// initialize Matrix class object with row number rN, col number cN and a pointer to an
const float * getData()const;
// create a temp pointer and copy the array values which data pointer points,
// then returns temp.
int getRowN()const; // returns rowN
int getColN()const; // returns colN
void print()const; // prints the Matrix object in rowNxcolN form
Matrix transpose(); // takes the transpose of the matrix
Matrix operator+(const Matrix &rhsMatrix)const;
//+ operator which allows m1+m2 and returns a temp Matrix object
Matrix operator-(const Matrix &rhsMatrix)const;
//- operator which allows m1-m2 and returns a temp Matrix object
Matrix operator*(const Matrix &rhsMatrix)const;
//* operator which allows product of m1*m2
//(element-wise) and returns a temp Matrix object
float operator()(const int r,const int c)const;
//() operator which allows returning m1(r,c),
//m1(0,0) is on the first row, first col
Matrix& operator=(const Matrix &rhsMatrix);
//= operator which allows m1=m2 and returns this pointer of m1
Matrix& operator+=(const Matrix &rhsMatrix);
//+= operator which allows m1+=m2 and returns this pointer of m1
Matrix& operator-=(const Matrix &rhsMatrix);
//-= operator which allows m1-=m2 and returns this pointer of m1
Matrix& operator*=(const Matrix &rhsMatrix);
//*= operator which allows m1*=m2(element-wise) and returns this pointer of m1
int operator==(const Matrix &rhsMatrix)const;
//== operator which returns 1 if (m1==m2)
int operator!=(const Matrix &rhsMatrix)const;
//== operator which returns 1 if (m1!=m2)
private:
//() operator which allows returning m1(r,c),
//m1(0,0) is on the first row,first col
int rowN, colN;
float* data;
// e.g: if pointer data points an array of [1,2,3,4,5,6] and the rowN=3 and coln=2
// matrix is actually
//123
//456
};
#endif
testMatrix.cpp = #include "Matrix.h
#include
#include
using namespace std;
int main()
{
float arr1[]={1,2,3,4,5,11,12,13,14,15,21,22,23,24,25};
float arr2[]={9,8,7,6,5,19,18,17,16,15,29,28,27,26,25};
Matrix m1(3,5);
Matrix m2(m1);
Matrix m3(3,5,arr1);
Matrix m4(3,5,arr2);
//-------------------
cout<<"m1(3,5)"<

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

Graph Databases New Opportunities For Connected Data

Authors: Ian Robinson, Jim Webber, Emil Eifrem

2nd Edition

1491930896, 978-1491930892

More Books

Students also viewed these Databases questions

Question

java main method

Answered: 1 week ago

Question

I am paid fairly for the work I do.

Answered: 1 week ago

Question

I receive the training I need to do my job well.

Answered: 1 week ago