gpt4 book ai didi

c++ - 创建接收一个 vector 并返回一个值的外观和一个 vector 及其索引的函数,cpp

转载 作者:行者123 更新时间:2023-11-30 05:38:28 25 4
gpt4 key购买 nike

从今天开始我是 cpp 的新手,从 matlab 转移到更快地运行模拟。

我想构建一个函数,它接收一个 vector 并返回包含给定值索引和出现次数的 vector 。

例如,如果我有:

A={0 , 1, 1, 1,  0};

我想得到

vec1={0, 4}; // 0
a=2;
vec2=(1,2,3); // 1
b=3;

到目前为止我有:

# include <iostream>
# include <string>
# include <vector>
using namespace std;
const int nTot = 10;

void get_index(vector<int> FVec, vector<int> &vec1, vector<int> &vec2)
{

for (unsigned int i=0; i < FVec.size(); i++)
{
if (FVec[i] == 0)
{
vec1.push_back(i);
}
if (FVec[i] == 1)
{
vec2.push_back(i);
}
}
}


int main()

{
int nf = nTot/2;
vector<int> FVec(nf);

vector<int> vec1;
vector<int> vec2;


get_index(FVec,vec1,vec2);


system (" pause");
return 0;
}

现在这里的问题是它没有改变 vector ,可能是因为函数中的赋值

最佳答案

从单个函数“返回”多个事物的 c++ 方法实际上是通过地址将这些事物传递给函数并将它们的指向值更新到函数中。这样您就不必返回任何东西。

例如这里:void get_indexes(Vector * vec1, Vector* vec2, int *a, int *b)

关于c++ - 创建接收一个 vector 并返回一个值的外观和一个 vector 及其索引的函数,cpp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32758104/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com