C++ 如何将向量中的值传递给具有多个参数的函数
我是编程新手,需要循环方面的帮助 我有一个名为data的向量,它填充了多少个数字C++ 如何将向量中的值传递给具有多个参数的函数,c++,loops,for-loop,vector,while-loop,C++,Loops,For Loop,Vector,While Loop,我是编程新手,需要循环方面的帮助 我有一个名为data的向量,它填充了多少个数字 vector<int> data; 数据中的数字是经过特殊排序的,因此模式[src,dest,weight]得到支持。我想从数据[2]开始,向前循环,直到到达data.size(),数据中不再有数字 例如,我想创建一个循环来执行以下操作: addEdge(graph, data[2], data[3] , data[4]); addEdge(graph, data[5], data[6], data[
vector<int> data;
数据中的数字是经过特殊排序的,因此模式[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]);
}
for(int i=2;i
或者我应该做一个像这样的文件
并读取每行和的3个整数,并作为函数中的参数传递?在C++中我该怎么做?或者我应该使用另一种类型的循环?谢谢。你的方向是正确的,只是你错过了一个
for
循环,只要把for
循环中的i++
替换为i+=3
,你就可以走了。我要硬编码跨步。当然,如果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]);
}
for(int i=0;i
for循环的卡在哪里?(根据您的示例,看起来i++=3
可能是比i++
更好的增量)谢谢您的帮助。。我不认为自己是程序员,你看到OP以i=2开始计数吗?@ AMADEUS是的,但后来他一路走到数据。siz()/<代码>而不是<代码>数据。siz()- 3 < /代码>。在我看来,我的设计更好,更不容易出错。
for (int i = 0; i < data.size()/3; ++i)
{
addEdge(graph, data[3*i], data[3*i+1], data[3*i+2]);
}