-4

我有 2 个数组:a [] = {1,2,3,4,5,6} 和 b [] = {1,2,6}。如何将数组 a 中的所有元素与数组 b 中的所有元素进行比较。例如,我将 a 中的第一个元素与 b 中的所有元素进行比较,如果它们不相等,则显示并继续检查。所以毕竟我需要得到 c [ ] = {3,4,5}。

请帮我。

for(i=0;i<n;i++)
{
    for(j=0;j<k;j++)
    {
        if(sf[i].r != temp[j].r)
        {
            cout<<sf[i].r<<" ";
        }
    }
}

其中 sf[ ] .r = {1,2,2,2,3,5,6,6,7,8,8} 和 temp[ ].r = { 1,3,5,7} 。输出必须是 {2,2,2,6,6,8,8}。

4

2 回答 2

1

只需使用 astd::vector<int>来建立您的结果,例如:

std::vector<int> set_difference;
for (int elem_a : a)
{
    if (std::find(std::begin(b), std::end(b), elem_a) == std::end(b))
    {
        set_difference.push_back(elem_a);
    }
}
于 2019-06-13T14:24:12.933 回答
0
int a[] = { 1, 2, 3, 4, 5, 6 };
int b[] = { 1, 3, 6, 2, 5, 9 };
std::vector<int> c;

for (int i = 0; i < sizeof(a); i++)
{
    for(int j = 0; j < sizeof(b); j++)
    {
        if (a[i] == b[j])
            std::cout << a[i] << " equals " << b[j] << std::endl;
        else
        {
            std::cout << a[i] << "not equals " << b[j] << std::endl;
            c.push_back(a[i]);
        }
    }
}
于 2019-06-13T14:18:19.160 回答