for(int i = 0; i < dimension;i++)
for(int j = 0 ; j < dimension;j++)
distance3 = sqrt(pow((apointCollection2[j].x - apointCollection[i].x1), 2) + pow((apointCollection2[j].y - apointCollection[i].y1), 2));
if (distance3 < Min)
{
Min = distance3;
station = busStation;
}
distance2 = sqrt(pow((apointCollection2[j].x - apointCollection[i].x2), 2) + pow((apointCollection2[j].y - apointCollection[i].y2), 2));
if (distance2 < Min2)
{
Min2 = distance2;
station1 = busStation;
}
所以我找到了最小距离和两个距离最小的站点。第一站(站)对应于行,第二站(站1)对应于列。然后我需要增加这些(可以称为路线)的人数。
然后我需要在第二次迭代后找到station和station1,如果它们是相同的,我只需要增加人数而不是向向量添加相同的站点。
或者我想的另一种变体 我创建了一个2-d向量,每个单元格中有233x233和0值。
vector< vector<int> > m;
cout << "Filling matrix with test numbers.";
m.resize(233);
for (int i = 0; i < 233; i++)
{
m[i].resize(233);
for (int j = 0; j < 233; j++)
{
}
}
在上面的循环后我决定创建以下我找到最小距离: 在这里,我想以某种方式增加:
m[station][station1] = person;
if (find(m.begin(), m.end(), station, station1))
{
person++;
}
else
{
m[station][station1] = person;
}
我在“find”中有一个错误,因为没有函数模板的实例。另一个问题我没有向vector添加值,但是当我想添加时这里也是一个错误。
这应该很容易,只需要找出我应该遵循的逻辑。
提前致谢