如何在单个向量中查找匹配的元素
How to find matching elements in a single vector
我想生成元素在向量中不再出现的次数。向量中的元素必须由种子随机化,在本例中为 3。
例如,如果在大小为 30 的向量中再次显示数字 2、6 和 4,则 totalComplete 应为 27,因为 3 个数字重复出现。
#include <stdlib.h>
#include <iostream>
#include <iomanip>
#include <vector>
using namespace std;
int main()
{
vector<int> seats;
int totalComplete = 0;
srand(3);
seats.resize(30);
for(int k = 0; k < 20; k++){
seats.at(k)=(rand()%30);
cout << seats.at(k);
cout <<" ";
totalComplete++;
for(int j = 0; j < 20; j++){
if(j != k)
if(seats.at(k) == seats.at(j))
totalComplete--;
}
cout<<endl;
}
cout << totalComplete;
return 0;
}
所以在我的代码中,随机放置在向量中的数字是 6 25 18 0 15 10 12 16 1 4 28 4 3 19 22 21 24 25 1 15。数字 25、15、1 和 4 重复它们,因此总数应为 16。但是,我的代码生成 0。我相信我检查数字是否重复的区域是错误的。
我的直接建议是将代码分成小块,并分别测试每个小块。我会从一个函数开始,只用随机数填充数组。然后我会编写一个函数来计算唯一条目。单独测试每一个,并检查你是否得到了你期望的。然后,当每个程序单独工作时,将它们放在一起以获得一个完整的程序,可以满足您的真正需求。
相关文章:
- 使用堆查找第K个最大元素的时间复杂性
- 查找矩阵C++中每一列和每一行的最小和最大元素
- C++如何在向量中查找最常见的元素
- 查找两个排序向量中共有的元素
- 在对向量中查找元素的索引
- 查找数组中第一个最小值和最后一个最大值元素之间的算术平均值
- 查找矩阵中单元格的相邻元素
- 为什么使用数组元素查找最大数字的程序不起作用?
- 查找第一个数组中不存在的元素
- 查找最小的下一个更大的元素
- 在最小堆中查找最大元素
- 在向量中查找大于 0(或通常为 k)的最小元素的最佳方法是什么?
- set::find 查找不存在的元素
- 在集合中查找使用结构C++的元素
- 从斐波那契序列 c++ 中的数组中查找正确的元素时出错
- 用于查找数组中最大元素的出现次数的代码,给出分段错误
- 查找数组中指示性较大但数组中值较小的元素
- C++结构集无法按元素查找/擦除
- 如何在OpenCV中使用Matlab的512元素查找表数组?
- 使用数组的元素查找总和'k'