如何将向量中的值传递给带有多个参数的函数

时间:2017-04-24 01:33:36

标签: c++ loops for-loop vector while-loop

我是编程新手,需要循环帮助。

我有一个名为data的向量,其中包含许多数字

vector<int> data;

我还有以下功能

addEdge(graph, src, dest, weight)

数据中的数字是专门排序的,以便维护模式[src,dest,weight]。我想从数据[2]开始并向前循环,直到达到data.size()并且数据中没有剩余数字。

例如,我想创建一个执行此操作的循环:

addEdge(graph, data[2], data[3] , data[4]);
addEdge(graph, data[5], data[6], data[7]);
addEdge(graph, data[8], data[9], data[10]);

等..直到达到data.size()。这可能吗?我尝试了一个for循环和while循环,但一直卡住,例如:

for (int i=2; i< data.size(); i++ ){

       addEdge(graph, data[i], data[i+1], data[i+2]);
     }

或者我应该制作一个类似的文件 this

并读取每一行和3个整数并在函数中作为参数传递?我怎么用c ++做这个?或者我应该使用其他类型的循环?谢谢。

2 个答案:

答案 0 :(得分:0)

你是正确的方向,只是因为你错过了for循环,只需用i++替换for循环中的i+=3,你就是好的去吧。

答案 1 :(得分:0)

我很难对大踏步进行编码。当然,如果data.size()不能被3整除,这就会爆发。

for (int i = 0; i < data.size()/3; ++i)
{
  addEdge(graph, data[3*i], data[3*i+1], data[3*i+2]);
}