How to determine whether one int array completely contained in another int array in C++

1 Answer

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

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

int main()
{
	const int size_arr1 = 10, size_arr2 = 4;
	int arr1[size_arr1] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
	int arr2[size_arr2] = { 5, 6, 7, 8 };
	
	std::ostream_iterator< int > output(cout, " ");

	std::copy(arr1, arr1 + size_arr1, output);
	cout << endl;
	std::copy(arr2, arr2 + size_arr2, output);
	cout << endl;

	if (std::includes(arr1, arr1 + size_arr1, arr2, arr2 + size_arr2))
		cout << "arr1 include arr2" << endl;
	else
		cout << "arr1 not include arr2" << endl;

	return 0;
}

/*
run:

0 1 2 3 4 5 6 7 8 9
5 6 7 8
arr1 include arr2

*/

 



answered Feb 25, 2018 by avibootz
edited Feb 26, 2018 by avibootz
...