Advertisement
Guest User

Untitled

a guest
Feb 26th, 2020
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.63 KB | None | 0 0
  1. //шаблоны функций 5 № 9
  2.  
  3. #include <iostream>
  4. #include <cmath>
  5. #include <iomanip>
  6.  
  7. using namespace std;
  8.  
  9. template <typename X>
  10. void createArr(X**& arr, const int n, const int m);
  11.  
  12. template <typename X>
  13. void scanArr(X** arr, const int n, const int m);
  14.  
  15. template <typename X>
  16. int findMaxArr(X** arr, int n, int m);
  17.  
  18. template <typename X>
  19. void printArr(X** arr, int n, int m);
  20.  
  21.  
  22. int main()
  23. {
  24. int n ,m ,max;
  25. cin >> n >> m;
  26. int** arrMain = new int*[n];
  27. createArr(arrMain, n, m);
  28. scanArr(arrMain, n, m);
  29. max = findMaxArr(arrMain, n, m);
  30. cout << "Result =" << ' ' << max;
  31. return 0;
  32. }
  33.  
  34. template <typename X>
  35. void createArr(X**& arr, const int n, const int m)
  36. {
  37. arr = new X * [n];
  38. for (int i = 0; i < n; i++)
  39. arr[i] = new X[m];
  40. }
  41.  
  42.  
  43. template <typename X>
  44. void scanArr(X** arr, const int n, const int m)
  45. {
  46. for (int i = 0; i < n; i++)
  47. for (int j = 0; j < m; j++)
  48. cin >> arr[i][j];
  49.  
  50. }
  51.  
  52. template <typename X>
  53. int findMaxArr(X** arr, int n, int m)
  54. {
  55. X max = arr[0][0];
  56. int cnt = 1;
  57. for (int i = 0; i < n; i++)
  58. {
  59. for (int j = 0; j < m; j++)
  60. {
  61. if (arr[i][j] > max)
  62. {
  63. cnt = 1;
  64. max = arr[i][j];
  65. }
  66. else
  67. if (arr[i][j] == max)
  68. cnt++;
  69. }
  70. }
  71. return cnt;
  72. }
  73.  
  74.  
  75. template <typename X>
  76. void printArr(X** arr, int n, int m)
  77. {
  78. for (int i = 0; i < n; i++)
  79. {
  80. for (int j = 0; j < m; j++)
  81. {
  82. cout << arr[i][j] << ' ';
  83. }
  84. }
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement