kutuzzzov

Шаблоны функций и классов

Sep 24th, 2025
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.01 KB | None | 0 0
  1. Часть 1: Шаблоны функций
  2. Задача 1: Напишите шаблон функции для вычисления суммы двух чисел.
  3.  
  4. #include <iostream>
  5.  
  6. // место для шаблонной функции
  7.  
  8. int main() {
  9.     std::cout << "Sum (int): " << sum_(5, 10) << std::endl;
  10.     std::cout << "Sum (double): " << sum_(3.14, 2.71) << std::endl;
  11.     return 0;
  12. }
  13.  
  14. Задача 2: Напишите шаблон функции для нахождения минимального значения.
  15.  
  16. #include <iostream>
  17.  
  18. // место для шаблонной функции
  19.  
  20. int main() {
  21.     std::cout << "Min (int): " << min_(5, 10) << std::endl;
  22.     std::cout << "Min (double): " << min_(3.14, 2.71) << std::endl;
  23.     return 0;
  24. }
  25.  
  26. Задача 3: Напишите шаблон функции для проверки равенства двух значений.
  27.  
  28. #include <iostream>
  29.  
  30. // место для шаблонной функции
  31.  
  32. int main() {
  33.     std::cout << "Equal (int): " << isEqual_(5, 5) << std::endl;
  34.     std::cout << "Equal (double): " << isEqual_(3.14, 2.71) << std::endl;
  35.     return 0;
  36. }
  37.  
  38. Задача 4: Напишите шаблон функции для вывода массива на экран.
  39.  
  40. #include <iostream>
  41.  
  42. // место для шаблонной функции
  43.  
  44. int main() {
  45.     int intArr[] = {1, 2, 3, 4, 5};
  46.     double doubleArr[] = {1.1, 2.2, 3.3};
  47.  
  48.     printArray_(intArr, 5);
  49.     printArray_(doubleArr, 3);
  50.  
  51.     return 0;
  52. }
  53.  
  54. Задача 5: Напишите шаблон функции для нахождения среднего значения элементов массива.
  55.  
  56. #include <iostream>
  57.  
  58. // место для шаблонной функции
  59.  
  60. int main() {
  61.     int intArr[] = {1, 2, 3, 4, 5};
  62.     double doubleArr[] = {1.1, 2.2, 3.3};
  63.  
  64.     std::cout << "Average (int): " << average_(intArr, 5) << std::endl;
  65.     std::cout << "Average (double): " << average_(doubleArr, 3) << std::endl;
  66.  
  67.     return 0;
  68. }
  69.  
  70. Задача 6: Напишите шаблон функции для поиска элемента в массиве.
  71.  
  72. #include <iostream>
  73.  
  74. // место для шаблонной функции
  75.  
  76. int main() {
  77.     int arr[] = {1, 2, 3, 4, 5};
  78.     std::cout << "Find (int): " << findElement_(arr, 5, 3) << std::endl;
  79.     std::cout << "Find (int): " << findElement_(arr, 5, 10) << std::endl;
  80.  
  81.     return 0;
  82. }
  83.  
  84. Задача 7: Напишите шаблон функции для подсчета количества положительных чисел в массиве.
  85.  
  86. #include <iostream>
  87.  
  88. // место для шаблонной функции
  89.  
  90. int main() {
  91.     int arr[] = {-1, 2, -3, 4, 5};
  92.     std::cout << "Positive count: " << countPositive_(arr, 5) << std::endl;
  93.  
  94.     return 0;
  95. }
  96.  
  97. /////////////////////////////////////////////////////////////////////////////////////////////////
  98.  
  99. Часть 2: Шаблоны классов
  100. Задача 1: Напишите шаблон класса для хранения одного значения.
  101.  
  102. #include <iostream>
  103.  
  104. // место для шаблонного класса
  105.  
  106. int main() {
  107.     Value_<int> intValue(10);
  108.     std::cout << "Value: " << intValue.getValue_() << std::endl;
  109.  
  110.     Value_<double> doubleValue(3.14);
  111.     std::cout << "Value: " << doubleValue.getValue_() << std::endl;
  112.  
  113.     return 0;
  114. }
  115.  
  116. Задача 2: Напишите шаблон класса для хранения пары значений.
  117.  
  118. #include <iostream>
  119.  
  120. // место для шаблонного класса
  121.  
  122. int main() {
  123.     Pair_<int, double> pair(10, 3.14);
  124.     pair.print_();
  125.  
  126.     return 0;
  127. }
  128.  
  129. Задача 3: Напишите шаблон класса для реализации двумерной точки.
  130.  
  131. #include <iostream>
  132.  
  133. // место для шаблонного класса
  134.  
  135. int main() {
  136.     Point_<int> p1(10, 20);
  137.     p1.print_();
  138.  
  139.     Point_<double> p2(3.14, 2.71);
  140.     p2.print_();
  141.  
  142.     return 0;
  143. }
Advertisement
Add Comment
Please, Sign In to add comment