我有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}。
答案 0 :(得分:1)
只需使用std::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);
}
}
答案 1 :(得分: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]);
}
}
}