How to copy only numbers that are present in first int array but not in second into third int array in C++

1 Answer

0 votes
#include <iostream>
#include <algorithm>
#include <iterator>

using std::cout;
using std::endl;

#define SIZE1 10 
#define SIZE2 5 

int main()
{
	int arr1[SIZE1] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
	int arr2[SIZE2] = { 3, 4, 5, 6, 7 };
	int arr3[SIZE1+SIZE2];

	int *p = std::set_difference(arr1, arr1 + SIZE1, arr2, arr2 + SIZE2, arr3);

	std::ostream_iterator< int > output(cout, " ");
	std::copy(arr3, p, output);

	cout << endl;

	return 0;
}

/*
run:

0 1 2 8 9

*/

 



answered Mar 3, 2018 by avibootz
...