使用二维向量c ++创建矩阵

时间:2016-04-18 10:37:26

标签: c++

我试图解释我遇到的问题。 我需要一个2-d矩阵,其中包含233x233行和列。

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添加值,但是当我想添加时这里也是一个错误。

这应该很容易,只需要找出我应该遵循的逻辑。

提前致谢

0 个答案:

没有答案