Advertisement
avr39ripe

BV024dyn2DarrPracticeTmpl

Jan 14th, 2021
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.64 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. //int max(int a, int b)
  4. //{
  5. //  return a > b ? a : b;
  6. //}
  7. //
  8. //double max(double a, double b)
  9. //{
  10. //  return a > b ? a : b;
  11. //}
  12. //
  13. //char max(char a, char b)
  14. //{
  15. //  return a > b ? a : b;
  16. //}
  17. //template <typename T>
  18. //T max(T a, T b)
  19. //{
  20. //  return a > b ? a : b;
  21. //}
  22. //
  23. //int max(int a, int b)
  24. //{
  25. //  return a > b ? a : b;
  26. //}
  27. //
  28. //char max(char a, char b)
  29. //{
  30. //  return a > b ? a : b;
  31. //}
  32. //
  33. //double max(double a, double b)
  34. //{
  35. //  return a > b ? a : b;
  36. //}
  37. //
  38. //max(1, 3);
  39. //max('a', 'z');
  40. //max(5, 7);
  41. //max(1, 'a');
  42. //max<double>('a', true);
  43.  
  44. template <typename T>
  45. T* createArr(int xSize)
  46. {
  47.     return new T[xSize];
  48. }
  49.  
  50. template <typename T>
  51. void deleteArr(T* arr)
  52. {
  53.     delete[] arr;
  54. }
  55.  
  56.  
  57. template <typename T>
  58. T** createArr2D(int ySize, int xSize)
  59. {
  60.     T** container{ new T * [ySize] };
  61.  
  62.     for (int y{ 0 }; y < ySize; ++y)
  63.     {
  64.         container[y] = new T[xSize];
  65.     }
  66.  
  67.     return container;
  68. }
  69.  
  70. template <typename T>
  71. void deleteArr2D(T** container, int ySize)
  72. {
  73.     for (int y{ 0 }; y < ySize; ++y)
  74.     {
  75.         delete[] container[y];
  76.     }
  77.     delete[] container;
  78. }
  79.  
  80. template <typename T>
  81. void fillArr2D(T** container, int ySize, int xSize)
  82. {
  83.     for (int y{ 0 }; y < ySize; ++y)
  84.     {
  85.         for (int x{ 0 }; x < xSize; ++x)
  86.         {
  87.             container[y][x] = rand() % 10;
  88.         }
  89.     }
  90. }
  91.  
  92. template <typename T>
  93. void printArr2D(T** container, int ySize, int xSize)
  94. {
  95.     for (int y{ 0 }; y < ySize; ++y)
  96.     {
  97.         for (int x{ 0 }; x < xSize; ++x)
  98.         {
  99.             std::cout << container[y][x] << ' ';
  100.         }
  101.         std::cout << '\n';
  102.     }
  103. }
  104.  
  105. int main()
  106. {
  107.     int ySize{ 3 };
  108.     int xSize{ 3 };
  109.  
  110.     createArr2D<int>(ySize, xSize);
  111.  
  112.     return 0;
  113. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement