2013-12-07 44 views
0

我已經從一個.txt文件(該文件在開始的列數(nCol))中讀取列,並將這些值放入數組中(float values [nCol] [nLin] )。C++創建一個可變數量的數組

現在,我想根據列數將值(例如:values [0] [nLin],values [1] [nLin] ...)複製到不同的浮點數組中。

如何根據我正在閱讀的文件更改列的數量來爲每列填充浮點數組?

//------ 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; 

我想要的「浮Col1中[]」是從1到NCOL,最後一個被浮動ColnCol []

謝謝

回答

2

最好的辦法國際海事組織將使用std::vector< std::vector<float> >

您不需要製作不同的1D列,因爲您可以根據需要操作此矢量矢量。

+0

但是數組可能嗎?我已經完成了剩餘的程序和數組計算 – JMG

+0

我不認爲你的程序需要改變很多,因爲向量的工作方式與數組幾乎相同(功能更多的課程)。爲了回答你的問題,如果行數是動態的,那麼固定長度的數組就不能使用。 –

+0

不好意思問,但你能舉一個例子,我怎麼可以用矢量來做? – JMG

相關問題