查找数组中是否存在C++元素
Find if an element exists in C++ array
#include <iostream>
float x[10], k;
int n, i;
cout<<"N= "; cin>>n;
for (i=0; i<n; i++){
cout<<"x["<<i<<"]= ";
cin>>x[i];
}
cout<<"Array's elements: ";
for (i=0; i<n; i++)
cout<<x[i]<<", ";
cout<<endl<<"K= "; cin>>k;
for(i=0; i<n; i++)
if(x[i]!=k){
cout<<endl<<"K doesn't exist in array.";
cout<<endl<<"K= "; cin>>k;
}
我正在尝试查找数组中是否存在一个元素,如果它不存在,我想重新键入该元素并重复整个数组并检查它。 我的从一开始就没有得到它(i = 0(。
标准库中有一个完美的函数 - std::any_of - 如果你想知道的只是是否存在某些东西。
如果你还需要访问找到的元素,那么有std::find或std::find_if。
如果你想知道某物存在多少次,标准库为你提供了std::count和std::count_if。
标头<algorithm>
中有一个名为std::find
的标准函数:
#include <iostream>
#include <algorithm>
int main() {
int myarray[6]{10, 4, 14, 84, 1, 3};
if (std::find(std::begin(myarray), std::end(myarray), 1) != std::end(myarray))
std::cout << "It exists";
else
std::cout << "It does not exist";
return 0;
}
艾德酮
尝试创建一个名为 cnt 的新变量并像这样使用它 -
for(i=0; i<n; i++)
if(x[i]==k){
++cnt;
}
if (cnt==0)
cout << "k has not occured";
else
cout<<"k has occured"<<cnt<<"times";
相关文章:
- Mongodb c++驱动程序:如何查询元素的数组
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 使用strcpy将char数组的元素复制到另一个数组
- 使用不带参数的函数访问结构元素
- 给定n个元素的m个集合.在C++中找到出现在最大集合数中的元素
- C++如何通过用户输入删除列表元素
- lower_bound()返回最后一个元素
- 基于多个条件处理地图中的所有元素
- 调整大小后指向元素值的指针unordered_map有效?
- 使用std::transform将一个范围的元素添加到另一个范围中
- 使用函数"remove"删除重复元素
- 具有最大子序列大小的序列,每个元素都相同
- 如何将两个不同矢量的同一位置的两个元素组合在一起
- 如何将元素添加到数组的线程安全函数?
- 有没有办法将谓词中的元素偏移量传递给 std 算法?
- 我想访问std::unique_ptr中的一个特定元素
- 如何通过 getter 函数删除矢量的元素?
- 向量元素的引用地址与它所指向的向量元素的地址不同.为什么
- 从控制台中删除最后打印的元素
- 擦除while循环中迭代的元素