Часть 1: Шаблоны функций Задача 1: Напишите шаблон функции для вычисления суммы двух чисел. #include // место для шаблонной функции int main() { std::cout << "Sum (int): " << sum_(5, 10) << std::endl; std::cout << "Sum (double): " << sum_(3.14, 2.71) << std::endl; return 0; } Задача 2: Напишите шаблон функции для нахождения минимального значения. #include // место для шаблонной функции int main() { std::cout << "Min (int): " << min_(5, 10) << std::endl; std::cout << "Min (double): " << min_(3.14, 2.71) << std::endl; return 0; } Задача 3: Напишите шаблон функции для проверки равенства двух значений. #include // место для шаблонной функции int main() { std::cout << "Equal (int): " << isEqual_(5, 5) << std::endl; std::cout << "Equal (double): " << isEqual_(3.14, 2.71) << std::endl; return 0; } Задача 4: Напишите шаблон функции для вывода массива на экран. #include // место для шаблонной функции int main() { int intArr[] = {1, 2, 3, 4, 5}; double doubleArr[] = {1.1, 2.2, 3.3}; printArray_(intArr, 5); printArray_(doubleArr, 3); return 0; } Задача 5: Напишите шаблон функции для нахождения среднего значения элементов массива. #include // место для шаблонной функции int main() { int intArr[] = {1, 2, 3, 4, 5}; double doubleArr[] = {1.1, 2.2, 3.3}; std::cout << "Average (int): " << average_(intArr, 5) << std::endl; std::cout << "Average (double): " << average_(doubleArr, 3) << std::endl; return 0; } Задача 6: Напишите шаблон функции для поиска элемента в массиве. #include // место для шаблонной функции int main() { int arr[] = {1, 2, 3, 4, 5}; std::cout << "Find (int): " << findElement_(arr, 5, 3) << std::endl; std::cout << "Find (int): " << findElement_(arr, 5, 10) << std::endl; return 0; } Задача 7: Напишите шаблон функции для подсчета количества положительных чисел в массиве. #include // место для шаблонной функции int main() { int arr[] = {-1, 2, -3, 4, 5}; std::cout << "Positive count: " << countPositive_(arr, 5) << std::endl; return 0; } ///////////////////////////////////////////////////////////////////////////////////////////////// Часть 2: Шаблоны классов Задача 1: Напишите шаблон класса для хранения одного значения. #include // место для шаблонного класса int main() { Value_ intValue(10); std::cout << "Value: " << intValue.getValue_() << std::endl; Value_ doubleValue(3.14); std::cout << "Value: " << doubleValue.getValue_() << std::endl; return 0; } Задача 2: Напишите шаблон класса для хранения пары значений. #include // место для шаблонного класса int main() { Pair_ pair(10, 3.14); pair.print_(); return 0; } Задача 3: Напишите шаблон класса для реализации двумерной точки. #include // место для шаблонного класса int main() { Point_ p1(10, 20); p1.print_(); Point_ p2(3.14, 2.71); p2.print_(); return 0; }