C++ 验证是否一个数组是另一个数组的子集

C++ 验证是否一个数组是另一个数组的子集,c++,arrays,subset,C++,Arrays,Subset,这是一个很受欢迎的问题,但我找不到一个符合我的情况的答案 我有布尔数组,我试图看看一个数组是否是另一个数组的子集 例如: const int size = 10; bool arr1[size]; bool arr2[size]; bool arr3[size]; assume the arrays have been initialized to false except for the following: arr1 4,5,6 = true arr2 0 = true arr3 4,5

这是一个很受欢迎的问题,但我找不到一个符合我的情况的答案

我有布尔数组,我试图看看一个数组是否是另一个数组的子集

例如:

const int size = 10;
bool arr1[size];
bool arr2[size];
bool arr3[size];

assume the arrays have been initialized to false except for the following:

arr1 4,5,6 = true
arr2 0 = true
arr3 4,5 = true
在本例中,
arr2
不是这两者的子集,但
arr3
arr1
的子集

我曾尝试过从布尔值的真值创建一个整数数组,但我仍然不确定如何验证它们是否是彼此的序列(即子集)

我尝试使用这个算法

int size = 10;
for (int i = 0; i<size; i++)
{
    for (int j = 0; j<size; j++)
    {
       if(arr2[i] == arr1[j])
          break;
    }
    if (j == size)
       return false;
}
return true;
}
int size=10;

for(int i=0;i下面是一个函数,用于检查数组
a
是否具有
b
true
的所有索引
true
,这里
a
b
的大小相同

bool checkArrays(bool a[], bool b[], int n) {
    for(int i=0; i<n; i++) {
        if(b[i] && b[i] != a[i]) // compare only if b[i] is true
            return false;
    }
    return true;
}
bool校验数组(bool a[],bool b[],int n){

for(int i=0;i下面是一个函数,用于检查数组
a
是否具有
b
true
的所有索引
true
,这里
a
b
的大小相同

bool checkArrays(bool a[], bool b[], int n) {
    for(int i=0; i<n; i++) {
        if(b[i] && b[i] != a[i]) // compare only if b[i] is true
            return false;
    }
    return true;
}
bool校验数组(bool a[],bool b[],int n){

对于(int i=0;i未初始化值和访问数组超出范围->未定义行为利用的两个原因。您似乎对“子集”有一些特殊的理解。严格来说,如果两个集合具有相同数量的元素,那么其中一个集合只能是另一个集合的子集,如果它们包含完全相同的元素。(实际上,严格地说,一个集合不包含两次元素)因为,您不为索引为0-3、7-9的
arr1
元素、
arr2
索引为1-9的元素和索引为0-4、7-9的
arr3
元素分配任何值,因此在列表中迭代并检查每个值都是无意义的,因为这些元素将具有不确定的值。请定义“子集”的含义因为标准定义不合适。有4个不同的集合包含布尔元素,所以查找这些集合的所有(标准)子集没有问题。未初始化的值和访问数组超出范围->未定义行为的两个原因利用。您似乎对“子集”有一些特殊的理解严格地说,如果两个集合有相同数量的元素,那么一个集合只能是另一个集合的子集,如果它们包含完全相同的元素。(实际上,严格地说,一个集合不包含两次元素)因为,您不为索引为0-3、7-9的
arr1
元素、
arr2
索引为1-9的元素和索引为0-4、7-9的
arr3
元素分配任何值,因此在列表中迭代并检查每个值都是无意义的,因为这些元素将具有不确定的值。请定义“子集”的含义因为标准定义不合适。有4个不同的集合有布尔元素,所以找到这些集合的所有(标准)子集没有问题。这确实是我要找的!谢谢你。这确实是我要找的!谢谢你。