I already have the class:
class Matrix{
public:
int getrow() {return rows;};
int getcol() {return cols;};
char getname() {return name;};
Matrix();
~Matrix();
// void Add(const Matrix %26amp;A, const Matrix %26amp;B);
private:
int rows;
int cols;
char name;
double *valuePtr;
void setrow(int r){rows = (r%26gt;=0)? r : 0; };
void setcol(int c){cols = (c%26gt;=0)? c : 0; };
};
//constructor: allocates memory for variables accordingly//
Matrix::Matrix(){
rows = 0;
cols = 0;
name = 'A';
*valuePtr = NULL;
setrow(rows);
setcol(cols);
}
// Input: data is a double matrix of size rows * columns //
Matrix::Matrix(int r, int c, char n, double *data){
setrow(r);
setcol(c);
name = n;
valuePtr = new double[rows*cols];
for (int i=0; i%26lt;rows*cols; i++){
valuePtr[i] = data
Code for the read function? How to run through the class accoridngly???
C++ Program Help! (Using classes)?
"double *valuePtr" is the wrong variable to use for a matrix. A matrix in your case is a dynamic 2-D array. Here is how you declare and initialize one:
double** valuePtr = new double*[rows];
for(int i = 0; i %26lt; rows; i++)
valuePtr[i] = new double[cols];
// Now, "double *data" in your matrix constructor also needs
// to be changed to "double** data". Then, here is how you
// copy values from data into the matrix:
for(int i =0; i %26lt; rows; i++)
for(int j =0; j %26lt; cols; j++)
valuePtr[i][j] = data[i][j];
// In your first constructor, change " *valuePtr = NULL;" to
// "valuePtr = NULL;"
// If you need more help let me know
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment