Тема: Сортування масиву і вивід кількості елементів на парних позиціях
Вітаю! Проблема в тому, що не можу розібратися саме з шаблонами, бо завдання вимагає їх застосування: "Шаблон класу повинен описувати і забезпечувати набір дій над даними масиву з параметрами , а всі обчислення повинні бути реалізовані у вигляді методів, введення розміру з клавіатури".
Функції для сортування і виведення кількості елементів на парних позиціях я написав правильно, окремо перевіряв.
В іншому нічого не виходить, буду вдячний якщо допоможете мені розібратися і довести програму до розуму.
#include <iostream>
using namespace std;
template <class T>
class Arr {
private:
T *arr;
int N, count;
public:
Arr() {
N = 0;
count = 0;
arr = new T[N];
}
~Arr() {
delete[] arr;
}
Arr(int N1);
int Sum();
void Sort();
void par();
};
template <class T>
Arr<T>::Arr(int N1) {
int N =0;
cout << "Enter arr size:" << endl;
cout << "N = ";
cin >>N;
arr = new T[N];
cout << "Enter arr:" << endl;
for (int i = 0; i < N; i++)
{
cin >> arr[i];
}
}
template <class T>
Arr<T>::Sum() {
int N =0;
int sum = 0;
while (N > 0)
{
sum += N % 10;
N /= 10;
}
return sum;
}
template <class T>
Arr<T>::Sort() {
for (int i = 0; i < N; i++)
{
for (int j = N - 1; j > i; j--)
{
if (Sum(arr[j]) > Sum(arr[j - 1]))
{
swap(arr[j], arr[j - 1]);
}
}
}
cout << "Sorted arr:" << endl;
for (int i = 0; i < N; i++)
{
cout << arr[i] << " ";
}
cout << endl;
}
template <class T>
Arr<T>::par() {
for (int i = 0; i<N; i += 2)
count++;
cout << "number of Arr elements:" << count << endl;
}
int main()
{
Arr <int> obj;
int N;
obj.Sort();
obj.par();
system("pause");
return 0;
}