operator * doesn't store the matrix after return
up vote
0
down vote
favorite
I have a Sparse matrix builded with vectors(vector<vector<int>>)
When I tried to multiply a scalar with matrix, the operator do correctly the operations, but when it returns the value, it returns an empty matrix.
This is the operator * :
MatriuSparse MatriuSparse::operator*(float s) {
MatriuSparse aux;
aux.matriu = matriu;
aux.m_Nlinies = m_Nlinies;
aux.m_Ncolumnes = m_Ncolumnes;
for (int i = 0; i < m_Nlinies; i++) {
for (int j = 0; j < m_Ncolumnes; j++) {
aux.matriu[i][j] *= s;
}
}
return aux;
}
This is the destructor:
MatriuSparse::~MatriuSparse() {
matriu.clear();
}
This is the copy constructor:
MatriuSparse::MatriuSparse(const MatriuSparse& m) {
m_Nlinies = m.m_Nlinies;
m_Ncolumnes = m.m_Ncolumnes;
m_valor = m.m_valor;
matriu = m.matriu;
for (int i = 0; i < m_Nlinies; i++) {
for (int j = 0; j < m_Ncolumnes; j++) {
matriu[i][j] = m.matriu[i][j];
}
}
}
In the main I call the operator in this form:
MatriuSparse m1(nomFitxer); //Constructor call.
MatriuSparse mProdX1 = m1 * 6;
matrix sparse-matrix matrix-multiplication 2d-vector
add a comment |
up vote
0
down vote
favorite
I have a Sparse matrix builded with vectors(vector<vector<int>>)
When I tried to multiply a scalar with matrix, the operator do correctly the operations, but when it returns the value, it returns an empty matrix.
This is the operator * :
MatriuSparse MatriuSparse::operator*(float s) {
MatriuSparse aux;
aux.matriu = matriu;
aux.m_Nlinies = m_Nlinies;
aux.m_Ncolumnes = m_Ncolumnes;
for (int i = 0; i < m_Nlinies; i++) {
for (int j = 0; j < m_Ncolumnes; j++) {
aux.matriu[i][j] *= s;
}
}
return aux;
}
This is the destructor:
MatriuSparse::~MatriuSparse() {
matriu.clear();
}
This is the copy constructor:
MatriuSparse::MatriuSparse(const MatriuSparse& m) {
m_Nlinies = m.m_Nlinies;
m_Ncolumnes = m.m_Ncolumnes;
m_valor = m.m_valor;
matriu = m.matriu;
for (int i = 0; i < m_Nlinies; i++) {
for (int j = 0; j < m_Ncolumnes; j++) {
matriu[i][j] = m.matriu[i][j];
}
}
}
In the main I call the operator in this form:
MatriuSparse m1(nomFitxer); //Constructor call.
MatriuSparse mProdX1 = m1 * 6;
matrix sparse-matrix matrix-multiplication 2d-vector
It would be a good idea to include the language tag so that the people who can answer your question will be more likely to see it.
– beaker
Nov 10 at 23:53
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I have a Sparse matrix builded with vectors(vector<vector<int>>)
When I tried to multiply a scalar with matrix, the operator do correctly the operations, but when it returns the value, it returns an empty matrix.
This is the operator * :
MatriuSparse MatriuSparse::operator*(float s) {
MatriuSparse aux;
aux.matriu = matriu;
aux.m_Nlinies = m_Nlinies;
aux.m_Ncolumnes = m_Ncolumnes;
for (int i = 0; i < m_Nlinies; i++) {
for (int j = 0; j < m_Ncolumnes; j++) {
aux.matriu[i][j] *= s;
}
}
return aux;
}
This is the destructor:
MatriuSparse::~MatriuSparse() {
matriu.clear();
}
This is the copy constructor:
MatriuSparse::MatriuSparse(const MatriuSparse& m) {
m_Nlinies = m.m_Nlinies;
m_Ncolumnes = m.m_Ncolumnes;
m_valor = m.m_valor;
matriu = m.matriu;
for (int i = 0; i < m_Nlinies; i++) {
for (int j = 0; j < m_Ncolumnes; j++) {
matriu[i][j] = m.matriu[i][j];
}
}
}
In the main I call the operator in this form:
MatriuSparse m1(nomFitxer); //Constructor call.
MatriuSparse mProdX1 = m1 * 6;
matrix sparse-matrix matrix-multiplication 2d-vector
I have a Sparse matrix builded with vectors(vector<vector<int>>)
When I tried to multiply a scalar with matrix, the operator do correctly the operations, but when it returns the value, it returns an empty matrix.
This is the operator * :
MatriuSparse MatriuSparse::operator*(float s) {
MatriuSparse aux;
aux.matriu = matriu;
aux.m_Nlinies = m_Nlinies;
aux.m_Ncolumnes = m_Ncolumnes;
for (int i = 0; i < m_Nlinies; i++) {
for (int j = 0; j < m_Ncolumnes; j++) {
aux.matriu[i][j] *= s;
}
}
return aux;
}
This is the destructor:
MatriuSparse::~MatriuSparse() {
matriu.clear();
}
This is the copy constructor:
MatriuSparse::MatriuSparse(const MatriuSparse& m) {
m_Nlinies = m.m_Nlinies;
m_Ncolumnes = m.m_Ncolumnes;
m_valor = m.m_valor;
matriu = m.matriu;
for (int i = 0; i < m_Nlinies; i++) {
for (int j = 0; j < m_Ncolumnes; j++) {
matriu[i][j] = m.matriu[i][j];
}
}
}
In the main I call the operator in this form:
MatriuSparse m1(nomFitxer); //Constructor call.
MatriuSparse mProdX1 = m1 * 6;
matrix sparse-matrix matrix-multiplication 2d-vector
matrix sparse-matrix matrix-multiplication 2d-vector
asked Nov 10 at 22:05
Desiréee Rodriguez Sanchez
1
1
It would be a good idea to include the language tag so that the people who can answer your question will be more likely to see it.
– beaker
Nov 10 at 23:53
add a comment |
It would be a good idea to include the language tag so that the people who can answer your question will be more likely to see it.
– beaker
Nov 10 at 23:53
It would be a good idea to include the language tag so that the people who can answer your question will be more likely to see it.
– beaker
Nov 10 at 23:53
It would be a good idea to include the language tag so that the people who can answer your question will be more likely to see it.
– beaker
Nov 10 at 23:53
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53243880%2foperator-doesnt-store-the-matrix-after-return%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
It would be a good idea to include the language tag so that the people who can answer your question will be more likely to see it.
– beaker
Nov 10 at 23:53