假设我有一个向量A = {1 0 1 1 0 0 0 1 0}.现在我想将所有出现的0的索引作为另一个向量返回B.
template< class InputIt, class T>
std::vector<int> IndicesOf(InputIt first, InputIt last, const T& value) {
}
Run Code Online (Sandbox Code Playgroud)
这是一个开始:
std::vector<int>::iterator iter = std::find_if(A.begin(), A.end(), 0);
B = std::distance(A.begin(), iter);
Run Code Online (Sandbox Code Playgroud) 我有一个长度为 100 万(0 到 100 万)的数据向量 A。从 A 开始,我想创建包含 A 索引的向量 B(其长度可以说只是 A 的 10%)。这些索引是从 A 中随机抽取的样本索引。我尝试使用 srand() 和 random_shuffle,这是一个好方法吗?提取非常大的向量样本的方法?有人可以建议我吗?
std::vector <int> samplingIndex;
for (int i = 0; i < 1000000; ++i) { samplingIndex.push_back(i); }
std::srand(50);
std::random_shuffle(samplingIndex.begin(), samplingIndex.end());
Run Code Online (Sandbox Code Playgroud)
之后,我从采样索引中取出前 10% 的索引来制作 B。
我必须生成两个随机位数组.要求是生成只有10%误码率的数组,即2个数组之间的元素比较应该给我们大约90%的元素.
我分别使用rand函数生成数组,它导致两个数组中大约40%到60%的相同元素.为了减少到10%,我试图在一个数组中找到随机位置以将其替换为1,但它会破坏随机性.它可能不是优雅的方式,对于大数字它不起作用(我需要测试数组中的10,000位).任何人都可以建议我如何生成两个错误非常少的随机二进制数组.
我能够将一些数据从char数组复制到循环中的另一个char数组中.例如,我想提取并显示char数组的每2个字符b.但它不起作用const char *.任何人都可以建议我为什么不与之合作const char *.其实我需要这样做const char*.
char array[] = "HelloRamBilasj";
cout << "total length of array buffer:" << strlen(array) << endl << endl;
int totalGoLength= strlen(array)/2 ; //divide by number of elements you want to display in one loop
cout << "required length of alice buffer:" << totalGoLength << endl << endl;
int oneGoCount=1;
int start=0;//starting index to copy
int next=2;//end index to copy
while( oneGoCount <= totalGoLength) {
char *b = …Run Code Online (Sandbox Code Playgroud)