我已经读过.txt文件中的列(文件的开头有列数(nCol))并将值放入数组中(浮点值[nCol] [nLin])。
现在,我想将值(例如:values [0] [nLin],values [1] [nLin] ...)复制到不同的float数组中,具体取决于列数。
如果根据我正在阅读的文件更改列数,我如何为每列创建浮点数组?
//------ Declares Array for values ------//
const int nCol = countCols;
float values[nCol][nLin];
// Fill Array with '-1'
for(int c=0; c<nCol; c++){
for(int l=0; l<nLin; l++) {
values[c][l] = -1;
}
}
//------ Skips the reading of line of values file ------//
getline(inFile, dummyLine);
// reads file to end of *file*, not line
while(!inFile.eof()) {
for(int y=0; y<nLin; y++){
for (int i=0; i<nCol; i++) {
inFile >> values[i][y];
}
i=0;
}
}
const int nValues = countLines;
float Col1[nValues]=-1,
Col2[nValues]=-1,
Col3[nValues]=-1,
Col4[nValues]=-1,
Col5[nValues]=-1;
//------ Put values in specific Arrays ------//
for(int v=0; v<nValues; v++) {
Col1[v] = values[0][v];
Col2[v] = values[1][v];
Col3[v] = values[2][v];
Col4[v] = values[3][v];
Col5[v] = values[4][v];
}
cout << endl;
我希望float Col1[]
从1到nCol,最后一个是float ColnCol[]
答案 0 :(得分:3)
IMO使用std::vector< std::vector<float> >
您不需要制作不同的1D列,因为您可以根据需要操作此向量矢量。
答案 1 :(得分:0)
您应该使用std::vector
。对于数据类型的动态大小分配,这是一个更好的选择。