c++所属条件
C++ Belong Condition
我需要对∈(不属于)做一个if条件
条件:
if tj ∉ A(fi) where A(fi) contains some elements
的例子:
A(f1)= t1, t2 A(f2)= t1, t3
所以若t3∈A(f1)做某事
我的问题是我不知道怎么用c++做集合集
编辑:谢谢你的回答。
我还有一个问题,但我不知道这是否真的可能,还是我梦想太多了。我需要多次运行我的程序,但每次A(fi)中的元素都会改变。
我知道0和1是随机的。所以我想把t1替换成0或者1但是我不知道怎么写顺序。
就像A(f1) ={1,0,1,0}和A(f2)={0,1,1,0}所以t1出现在A(f1)中,t2出现在A(f2)中,t3出现在A(f1)和A(f2)中,等等
对于set函数,它写:
"集合是按照特定顺序存储唯一元素的容器。"因此,有可能为订单
命名所以我的问题是,你认为这是可能的吗?我怎么才能连接t1, t2, t3…?
我发现另一个问题是,我可能要创建更多的集合有超过2个或A(fi),数量没有提前。我不知道如何在不同的时间创建不同数量的集合。这可能吗?
你可以使用std::设置为这样,下面是一个例子:
#include <iostream>
#include <set>
#include <string>
int main ()
{
std::set<std::string> myset;
myset.insert( "t1") ;
myset.insert( "t2") ;
if( myset.count( "t2") != 0 )
{
std::cout << "Set contains t2" << std::endl;
}
if( myset.count( "t3") != 0 )
{
std::cout << "Set contains t3" << std::endl;
}
return 0;
}
和一个使用std::includes:
的例子#include <iostream>
#include <string>
#include <algorithm>
#include <cctype>
#include <vector>
int main ()
{
std::vector<std::string> v1 {"t1", "t2", "t3", "t4" };
std::vector<std::string> v2 {"t2", "t4"};
std::vector<std::string> v3 {"t3"};
std::cout << "v1 contains the follows elments of v2:" << std::endl ;
for (auto i : v2){
std::cout << i << ' ';
std::cout << ": " << std::includes(v1.begin(), v1.end(), v2.begin(), v2.end()) << std::endl ;
}
std::cout << "v1 contains the follows elments of v3:" << std::endl ;
for (auto i : v3){
std::cout << i << ' ';
std::cout << ": " << std::includes(v1.begin(), v1.end(), v2.begin(), v2.end()) << std::endl ;
}
return 0;
}
使用Set容器存放一组元素。然后使用方法count
并检查其返回值是否为零。
假设A
是一个返回std::set
(或对std::set
的引用)的函数:
auto& s = A(f1);
if(s.find(t3) == s.end())
std::cout << "Not in setn";
相关文章:
- 为什么"do while"循环不断退出,即使条件计算结果为 false?
- 在没有太多条件句的情况下,我如何避免被零除
- 基于多个条件处理地图中的所有元素
- 条件constexpr函数
- 无论条件是否为true,if总是在c++中执行
- 我可以使用条件运算符初始化C风格的字符串文字吗
- 基于模板值的条件变量
- 多个If语句与使用逻辑运算符计算条件的单个语句的比较
- 将按位if条件转换为普通if条件
- 条件断点在不应该触发时触发
- 为什么简单的算术减法在"if"条件下不起作用?
- 如何在for循环中包含两个索引值的测试条件
- 如果条件为TRUE(最佳方式?),则在do while循环中后置增量
- 我提出什么条件才能再加5%的折扣
- 循环中的条件:为什么每次都调用strlen(),而vector.size()只调用一次
- 即使没有满足他们的条件,我也无法通过一些 do-while 循环
- 如何编写一个使用n倍三元条件语句的C++布尔函数
- 没有超时的C++条件变量
- 正在LLVM中检测整数比较条件
- 在条件变量中触发错误信号的频率是多少