C++ 二维数组的返回索引
如何返回2d数组中大于0的所有元素的索引?我将使用C++。p>C++ 二维数组的返回索引,c++,arrays,C++,Arrays,如何返回2d数组中大于0的所有元素的索引?我将使用C++。p> 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] <&
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
int距离[2][3]={{0,8,0},{0,4,0};
对于(int i=0;i编写一个函数,并让它返回成对向量:
std::vector<std::pair<size_t,size_t>> filter();
std::vector filter();
对于距离[i][j]>0的所有值,索引为(i,j)
如果你想从函数中返回它,你可以创建一个类,映射,向量,结构等等
struct pair {
int i
int j
};
(……)
vector of vector
是您的选择吗?您可以只返回一个值,返回struct或array,也可以使用pass-by-reference/addressWell、distance[i][j]>0作为起点……您可以返回对的集合(vector
),向量中的每个条目都是二维数组中的索引。请注意,如果有二维数组,则需要修改。为什么要重新创建std::pair
?
pair p;
p.i = i;
p.j = j;
return p;