c++ 结构体数组数据被覆盖,只显示最后一个数据

自己定义了一个结构体:

struct Cell
{
    double x;
    double y;
};

然后初始化100个这样的结构体A,每个结构体里想要存放n行2列的数据,但是最后输出的数据只有第n行的两个数据(可能是因为A[i]只能存储一行),前面的都被覆盖了,请问如何解决呢?

    Cell A[100];
    int j = 0;
    for (int i = 0; i < centroids.size()-1; i++)
    {
        if (abs(centroids[i].y - centroids[i + 1].y) < 4)
        {
            A[j].x = centroids[i].x;
            A[j].y = centroids[i].y;
        }
        else
        {
            A[j].x = centroids[i].x;
            A[j].y = centroids[i].y;
            j = j + 1;
        }
    }
    cout << A[1].x <<"  "<< A[1].y<< endl;

最后cout出来的只有A中第二个结构体最后一行的数据,不能显示第二个结构体里所有的内容

全部输出A数组中的数据需要循环输出
把cout修改成


      for (int i=0; i<j; ++i)
      {
        cout << "index = " << i << A[i].x << "  " << A[i].y << endl;
    }

最后cout出来的只有A中第二个结构体最后一行的数据,不能显示第二个结构体里所有的内容
因为你只输出第二个结构体的一行的数据,其他的经过循环都被覆盖掉了。

img