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