2012-06-21 24 views
0

我現在有一個二維數組數組,我需要做的是弄清楚如何用一個名字來引用它們的整個「行」......引用二維數組中的整行數組

我想要做的是在一個名爲ROOT的程序中使每個「行」成爲TBree。每一行是與單個直方圖上的所有分箱中的數據對應的數字列表,並且每個列在每個直方圖中填充有與特定分箱(即:分箱3)相對應的數字(如果有意義的話)。我只需要找到一種方法來將數據按直方圖/行分開,並將這些數據視爲他們自己的個人事物(如果可能的話)。如果這不是連貫的,我很抱歉!

+0

也許std :: map是我所瞭解的問題所需要的。 – manasij7479

回答

0

我真的不明白你的問題的第二部分,所以我只是地址如何訪問二維數組(又名矩陣)中的行。如果這不是你問的問題,你將不得不擴大你的問題。多維數組通常設置爲包含其他數組的數組(如下所示)。 2D陣列可能如下所示:

std::vector<std::vector<int> > myMatrix; 
for (int y = 0; y < LIMIT_Y; ++y) { 
    std::vector row; 
    for (int x = 0; x < LIMINT_X; ++x) { 
     row.push_back(0); 
    } 
    myMatrix.push_back(row); 
} 

此示例將生成一個填充零的二維數組。但是,您可以指定myMatrix是否包含保存列值的行,或者如果myMatrix包含保存行值的列。在這種情況下,我選擇它來包含行。你可以知道存取權限由myMatrix[i]矩陣將返回第i行作爲特定行的std::vector<int>

+0

這是接近我所需要的。謝謝。我再次道歉,我的問題措辭不佳。 –

0

如果您已經創建了一個二維數組,像這樣:

char** arr; 
// fill up arr with elements 
int rows = 20, columns = 50; 
arr = (char**) malloc (rows * columns * sizeof(char)); 

,你想參考,說排5號,你這樣做:

arr[4] // here, the index 4 refers to the entire 5th row of arr 

例如,您可以通過arr[4]到預期的指針參數的函數。