avr39ripe

PV024Templatebasics

Nov 12th, 2020 (edited)
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.20 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. template <typename T>
  4. T max(T a, T b)
  5. {
  6.     return a > b ? a : b;
  7. }
  8.  
  9. int max(int a, int b)
  10. {
  11.     return a > b ? a : b;
  12. }
  13.  
  14. double max(double a, double b)
  15. {
  16.     return a > b ? a : b;
  17. }
  18.  
  19. template <typename T>
  20. T max(T a, T b, T c)
  21. {
  22.     return max(max(a, b), c);
  23. }
  24.  
  25. int max(int a, int b, int c)
  26. {
  27.     return max(max(a, b), c);
  28. }
  29.  
  30. template <typename T>
  31. T max(T arr[], int arrSize)
  32. {
  33.     std::cout << "Template arr arg ver started!\n";
  34.     T maxVal{ arr[0] };
  35.     for (int i{ 0 }; i < arrSize; ++i)
  36.     {
  37.         maxVal = max(arr[i], maxVal);
  38.     }
  39.     return maxVal;
  40. }
  41.  
  42. //int max(int a, int b)
  43. //{
  44. //  std::cout << "Int 2 arg ver started!\n";
  45. //  return a > b ? a : b;
  46. //}
  47.  
  48. //int max(int a, int b, int c)
  49. //{
  50. //  std::cout << "Int 3 arg ver started!\n";
  51. //  return max(max(a, b), c);
  52. //}
  53.  
  54. //double max(double a, double b, double c)
  55. //{
  56. //  std::cout << "Double 3 arg ver started!\n";
  57. //  return max(max(a, b), c);
  58. //}
  59.  
  60. //double max(double a, double b)
  61. //{
  62. //  std::cout << "Double ver started!\n";
  63. //  return (a > b ? a : b);
  64. //}
  65.  
  66. //int max(int arr[], int arrSize)
  67. //{
  68. //  std::cout << "Int arr arg ver started!\n";
  69. //  int maxVal{ arr[0] };
  70. //  for (int i{0}; i < arrSize; ++i)
  71. //  {
  72. //      maxVal = max(arr[i], maxVal);
  73. //  }
  74. //  return maxVal;
  75. //}
  76.  
  77. //float max(float arr[], int arrSize)
  78. //{
  79. //  std::cout << "Float arr arg ver started!\n";
  80. //  float maxVal{ arr[0] };
  81. //  for (int i{ 0 }; i < arrSize; ++i)
  82. //  {
  83. //      maxVal = max(arr[i], maxVal);
  84. //  }
  85. //  return maxVal;
  86. //}
  87.  
  88. //char max(char arr[], int arrSize)
  89. //{
  90. //  std::cout << "Float arr arg ver started!\n";
  91. //  char maxVal{ arr[0] };
  92. //  for (int i{ 0 }; i < arrSize; ++i)
  93. //  {
  94. //      maxVal = max(arr[i], maxVal);
  95. //  }
  96. //  return maxVal;
  97. //}
  98.  
  99. //char max(char a, char b)
  100. //{
  101. //  std::cout << "Char ver started!\n";
  102. //  return a > b ? a : b;
  103. //}
  104.  
  105.  
  106. int main()
  107. {
  108.     const int arrSize{ 5 };
  109.     int arr[arrSize]{ 4,22,1,0,54 };
  110.     float arr1[arrSize]{ 4.3,22.1,1.4,0.125,54.23 };
  111.     char arr2[arrSize]{ 'a','v','q','5','\n' };
  112.     std::cout << max<char>(4.5, 6) << '\n';
  113.     std::cout << max(4,6,7) << '\n';
  114.     std::cout << max(arr,arrSize) << '\n';
  115.     std::cout << max(arr1, arrSize) << '\n';
  116.     std::cout << max(arr2, arrSize) << '\n';
  117.  
  118.     return 0;
  119. }
  120.  
  121.  
Add Comment
Please, Sign In to add comment