我想存储从文件中读取的稀疏矩阵,但是当构造函数完成时,参数不会存储在对象中。
该文件具有“行列”结构,其中行是矩阵行,列是矩阵列。如果文件的坐标存在,则在该位置存储1,否则存储0。
这是构造函数:
MatriuSparse::MatriuSparse(const string nomFitxer) {
fstream fitxer;
fitxer.open(nomFitxer);
int m_columna;
int m_fila;
m_Ncolumnes = 8;
m_Nlinies = 8;
vector<vector<int> > matriu;
for (int i = 0; i < m_Nlinies; i++)
{
vector<int> temporal;
for (int j = 0; j < m_Ncolumnes; j++) {
temporal.push_back(0);
}
matriu.push_back(temporal);
}
fitxer >> m_fila >> m_columna;
while (!fitxer.eof())
{
matriu[m_fila][m_columna] = 1;
fitxer >> m_fila >> m_columna;
}
fitxer.close();
//Here matrix has size 8
}
这是主要的:
string nomFitxer = "Xarxa1.txt";
MatriuSparse m1(nomFitxer);
// Here m1 matrix has size 0
cout << m1;