fork download
  1. #include<iostream>
  2. #include<cstring>
  3.  
  4. template <typename T>
  5. T maxn(T arr[], int size);
  6.  
  7. template <typename T>
  8. T maxn(T arr[], int size)
  9. {
  10. T max = arr[0];
  11. for(int i = 1; i < size; i++)
  12. {
  13. if (arr[i] > max)
  14. max = arr[i];
  15. }
  16. return max;
  17. }
  18.  
  19. template <> //O TUTAJ!!!!!!!!!!!!!!!!!!!!!!!!!!!
  20. char * maxn(char * arr[], int size)
  21. {
  22. char * longest = arr[0];
  23. for (int i = 1; i < size; ++i)
  24. {
  25. if (strlen(arr[i]) > strlen(longest))
  26. longest = arr[i];
  27. }
  28.  
  29. return longest;
  30. }
  31.  
  32. int main(void)
  33. {
  34. using namespace std;
  35. char str1[] = "Hello";
  36. char str2[] = "Hi";
  37. char str3[] = "Hey";
  38. char str4[] = "Greetings!"; // 10 characters
  39. char str5[] = "Goodbye!!!"; // 10 characters
  40.  
  41. char * arrs[5] =
  42. {
  43. str1,
  44. str2,
  45. str3,
  46. str4,
  47. str5
  48. };
  49.  
  50. int arri[5] = {1, 2, 3, 100, -100};
  51.  
  52. // use specialization
  53. cout << "The largest string is "
  54. << maxn(arrs, 5) << endl;
  55.  
  56. // use template
  57. cout << "The largest number is "
  58. << maxn(arri, 5) << endl;
  59.  
  60. return 0;
  61. }
Success #stdin #stdout 0s 16064KB
stdin
Standard input is empty
stdout
The largest string is Greetings!
The largest number is 100