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

C++ 使用二维向量c+创建矩阵+;,c++,C++,我正在努力解释我遇到的问题。 我需要一个包含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 - apointCollectio

我正在努力解释我遇到的问题。 我需要一个包含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;

        }
我在“find”中有一个错误,因为没有函数模板的实例。另一个问题是我没有向vector添加值,但在这里,当我要添加值时,还有一个错误

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


提前感谢

如果将二维矩阵视为一维矩阵,查找可能会更容易。请使用单个向量保留矩阵。实现的一个示例。这会让你的生活更轻松。顺便说一句,pow(x,2)比x慢得多*x@Exceptyon你有消息来源吗?我很确定编译器简化了这一点。@JonathanMee显示速度慢了大约5倍,ofc取决于编译器和优化
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;
    }