Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops 使用嵌套循环输出距离C++;_Loops_Vector - Fatal编程技术网

Loops 使用嵌套循环输出距离C++;

Loops 使用嵌套循环输出距离C++;,loops,vector,Loops,Vector,我有三个向量: vector<string> city; vector<int> x-coord; vector<int> y-coord; 我可以输出一个乘法表,我想我会使用同样的循环方式 所以 #包括 #包括 #包括 使用名称空间std; int row,col; 对于(row=0;row

我有三个向量:

vector<string> city;
vector<int> x-coord;
vector<int> y-coord;
我可以输出一个乘法表,我想我会使用同样的循环方式

所以

#包括
#包括
#包括
使用名称空间std;
int row,col;
对于(row=0;row
首先,row永远不会被使用。这总是会将城市与自身进行比较

其次,从外观上看,您不应该向任何行/列索引添加任何内容

x-coord.at(row) - x-coord.at(col)
y-coord.at(row) - y-coord.at(col)
第三,你的数学错了

距离是sqrt((x1-x2)^2+(y1-y2)^2)。您有sqrt(x1-x2)+(y1-y2)^2


一旦你有了这些,你就可以计算出输出的格式。我建议将你的答案存储在另一个向量或其他STD元素中,并调用你创建的函数来实现这一点。

我已经用更多的代码更新了这篇文章,是否可以给我更多的帮助,我已经修改了你给我的一些问题?试试看整理你的输出,我会给你一些帮助。你当前的代码看起来不错。作为一个建议,我建议你不要使用“使用名称空间”。积极的一面是它为你节省了一些击键。消极的一面是,当两个名称空间包含具有相同名称的对象时,如osg::node和my::node,它确实会导致问题。
#include <math.h>
#include <vector>
#include <string>
using namespace std;
int row, col;
for (row = 0; row < city.size(); row++) { 
for (col = 0; col < city.size(); col++) {
        int dist = sqrt(pow(x-coord.at(col+1)-x-coord.at(col),2) +
                    pow(y-coord.at(col+1) - y-coord.at(col),2));
        cout << dist; 
    }
cout << endl;
}
#include <math.h>
#include <vector>
#include <string>
using namespace std;
int row, col;
for (row = 0; row < city.size()-1; row++) {
    cout << city.at(row);
    for (col = 0; col < city.size()-1; col++) {
        int dist = sqrt(    pow(x-coord.at(row) - x-coord.at(col), 2) + pow(y-coord.at(row) - y-coord.at(col), 2)     );
        cout << '\t' << dist;
    }
    cout << endl;
}
x-coord.at(row) - x-coord.at(col)
y-coord.at(row) - y-coord.at(col)