2013-10-16 5 views
-1

0보다 큰 2 차원 배열의 모든 요소의 인덱스를 반환하는 방법은 무엇입니까? 나는 C++을 사용할 것이다. 미리2 차원 배열의 반환 인덱스

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

처음에는'distance [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