从不同大小的矢量发出输出数据

时间:2015-11-26 19:56:56

标签: c++ vector output

for(int i=1; i<distances.size(); i++)
cout << "Distance between " << names[i-1] << " and " << names[i] << " is: " << distances[i] << ", " << endl;

这是我的程序的片段,一点点信息: 程序从用户那里获取输入以找出他们想要访问的位置,然后打印(问题在这里)目的地之间的距离。因此所有计算都有效,但问题在于我的cout线,因为前两个输入创建了一个距离,然后每个其他输入创建一个距离。所以简而言之,distances.size比names.size少1。这意味着,因为我使用了“i&#39;”,所以记录的第一个距离没有名字。循环输出。如果我输入3个目的地,则有一个输出。 4个目的地,2个输出,但2个目的地,没有输出。我能做什么?我希望我的问题清楚。

1 个答案:

答案 0 :(得分:0)

也许你应该考虑一下你的软件设计......

我假设,如果你有3个距离,你会想知道从1到2的距离,从2到3,1到3是无关紧要的。

对于快速解决方案,只需构建一个看起来像这样的简单结构:

struct....
{
   CDestination dest1;
   CDestination dest2;

   float Distance;

   Calculate()
   {
    Distance = /* Your calculation here */
   }  
} 

不只是创建这些结构的向量并打印三个成员。很抱歉,如果那不是您想要的,但您没有提供有关您问题的代码或信息......