2013-10-16 154 views
-1

如何返回大於0的二維數組中所有元素的索引?我將使用C++。二維數組返回索引

int distances[2][3]={{0,8,0},{0,4,0}}; 

for(int i=0; i<2; i++){ 
    for(int j=0; j<3; j++){ 
    if(distances[i][j] > 1){ 
     //row=i/3; 
     //columns=i%3; 
     cout << distances[i][j] << " " << endl;   //value 

由於事先

+0

是你VECTOR'選擇的'載體? – billz

+2

你可以只返回一個值,或者返回結構體或者數組,或者使用通過引用/地址 –

+1

那麼,對於初學者來說''距離[i] [j]> 0' ... – bitmask

回答

1

寫一個函數,並將它返回對一個矢量:

std::vector<std::pair<size_t,size_t>> filter(); 
0

索引爲(i,j)的所有值,其中距離[I] [ j]> 0.

如果你想返回它,例如從功能,你可以做一個類,地圖,矢量,結構等

struct pair { 
    int i 
    int j 
}; 

(...)

pair p; 
p.i = i; 
p.j = j; 
return p; 
+0

爲什麼重新創建'std :: pair'? – bitmask