麻烦迭代多维数组

时间:2015-05-08 04:52:05

标签: c++ arrays pointers multidimensional-array

问题是编写一个函数,为二维平面中的一组点返回一个边界矩形。 SIZE是两个。我知道点将采用这种格式{double,double},我知道如何创建边界矩形。我似乎无法抓住积分。我试着像这样迭代。

Rectangle2D getRectangle(const double points[][SIZE], int s) {
for (int i = 0; i < s; i++) {
    for (int j = 0; j < SIZE; j++) {
        cout << points[s][SIZE] << endl;
    }
}
// will put these points in after i figure out the iteration.
Rectangle2D rekt(x, y, width, height);
return rekt;
}

2 个答案:

答案 0 :(得分:1)

每次访问相同的元素元素,因为s和SIZE保持不变。您必须像points[i][j]一样访问它。 我不确定,但我认为你不能在数组参数中传递SIZE,你应该将它作为附加参数传递。 祝你好运;)

答案 1 :(得分:1)

你走了。

for (int i = 0; i < s; i++) {
    for (int j = 0; j < SIZE; j++) {
        cout << points[i][j] << endl; //observe i,j
    }
}

在上面的例子中,你是逐行迭代的。如果你想按列迭代,那么下面的工作就可以了。

for (int j = 0; j < SIZE; j++) {
   for (int i = 0; i < s; i++) {
            cout << points[i][j] << endl; //observe i,j
        }
    }