# Matrix solving program

## Recommended Posts

gritchie    112
Hello everyone.

I was starting to make a program to solve the determinant of any nxn matrix.(just for the practice) I was wanting to use a class so I could practice using them. My question is should I use a data field for the size of the matrix and were would I start making my array (which i think would be the best way to make a matrix). I know I need to declare my array, I'm just not sure exactly where I should do that.

Thanks

##### Share on other sites
alvaro    21246
"Solving" a matrix or a determinant doesn't mean anything. You can solve a system of linear equations (which can be expressed in matrix form) and you can compute a determinant. Precise language does matter for math, so try to learn to use the way people express these things.

This is how I would start a Matrix class:
[code]#include <vector>

class Matrix {
int size;
std::vector<double> m;

public:
Matrix(int size) : size(size), m(size*size) {
}

double &operator()(int row, int col) {
return m[row * size + col];
}

double operator()(int row, int col) const {
return m[row * size + col];
}
};
[/code]

If the size of the matrix will be known at compile time, you have the option of using templates instead:
[code]template <int size>
class Matrix {
double m[size*size];

public:
double &operator()(int row, int col) {
return m[row * size + col];
}

double operator()(int row, int col) const {
return m[row * size + col];
}
};
[/code] Edited by alvaro

## Create an account or sign in to comment

You need to be a member in order to leave a comment

## Create an account

Sign up for a new account in our community. It's easy!

Register a new account