I have a task. It says I have to make a template function this kind template <typename T>
int reduce(T ar[], int n);
. This function does sort from min up to max value and delete equal values. Also it says I have to make it using STL. I do not need solution but only advice what should I do. Here it is my solution.
template <typename T>
int reduce(T ar[], int n)
{
ostream_iterator<int, char> out_iter(cout, " ");
T * iter_begin = ar;
T * iter_end = ar + n;
sort(iter_begin, iter_end);
copy(iter_begin, iter_end, out_iter);
cout << endl;
iter_end = unique(iter_begin, iter_end);
copy(iter_begin, iter_end, out_iter);
//erase(iter_begin, iter_end);
return 0;
}
void main()
{
srand((unsigned)time(NULL));
int size = 20;
long * mas = new long[size];
for (int i = 0; i < size; i++)
mas[i] = rand() % size + 1;
reduce(mas, size);
string str = "hello how are you doing";
reduce(&str, str.length());
delete[] mas;
}