fork download
  1. #include <iostream>
  2. #include <cstring>
  3.  
  4. const int SIZE = 5;
  5.  
  6. template <typename T>
  7. T maxn(T tab[], int rozmiar )
  8. {
  9. T x = tab[0];
  10. for(int i = 1; i < rozmiar ; i++)
  11. if(tab[i] > x)
  12. x = tab[i];
  13.  
  14. return x;
  15. }
  16. template <> const char* maxn(const char* tab[], int rozmiar)
  17. {
  18. unsigned len = 0;
  19. int j = 0;
  20. for(int i = 0; i < rozmiar; i++)
  21. if(len < strlen(tab[i])) {
  22. len = strlen(tab[i]);
  23. j = i;
  24. }
  25. return tab[j];
  26. }
  27.  
  28. int main(void)
  29. {
  30. int tab1[10] = {1, 5, 2, 7, 0, 5, 8 ,94, 158, 147};
  31. double tab2[6] = {100, 98.5, 14.5, 4, 9, 454.987};
  32. const char* tab3[7] = {"ala", "ma", "kota", "oraz", "dwie", "dzikie", "dwujednorożce"};
  33. int a;
  34. double b;
  35. char * ch, * wsk;
  36.  
  37. a = maxn(tab1, 10);
  38. b = maxn(tab2, 6);
  39. ch = (char*)maxn(tab3, 7);
  40.  
  41. std::cout << a << " " << b << std::endl;
  42. std::cout << ch << std::endl;
  43.  
  44. return 0;
  45. }
Success #stdin #stdout 0s 2896KB
stdin
Standard input is empty
stdout
158    454.987
dwujednorożce