Advertisement
Narzew

Element Min/Max z tablicy

Jan 14th, 2013
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.65 KB | None | 0 0
  1. #======================================================
  2. #**Implementacja algorytmu szukania min/max wartoœci z tablicy
  3. #**Narzew
  4. #**14.01.2013
  5. #**dla portalu algorytm.org
  6. #======================================================
  7.  
  8. #======================================================
  9. #**x => tablica
  10. #======================================================
  11.  
  12. #======================================================
  13. #**wartosc_max - zwróæ maksymalny element
  14. #======================================================
  15.  
  16. def wartosc_max(x)
  17.         result = x[0]
  18.         x.each{|y|
  19.             result = y if y > result
  20.         }
  21.         return result
  22. end
  23.  
  24. #======================================================
  25. #**wartosc_min - zwróæ minimalny element
  26. #======================================================
  27.  
  28. def wartosc_min(x)
  29.         result = x[0]
  30.         x.each{|y|
  31.             result = y if y < result
  32.         }
  33.         return result
  34. end
  35.  
  36. #======================================================
  37. #**wartosc_min_max - zwróæ tablicê z maksymalnym (0)
  38. #**i minimalnym (1) elementem. Wymaga dwóch poprzednich
  39. #**metod do działania.
  40. #======================================================
  41.  
  42. def wartosc_min_max(x)
  43.         return [wartosc_max(x), wartosc_min(x)]
  44. end
  45.  
  46. #======================================================
  47. #**wartosc_min_max2 - zwróæ tablicê z maksymalnym (0)
  48. #**i minimalnym (1) elementem. Podwójne użycie zliczenia
  49. #**w jednym cyklu. Wydajniejsza od wartosc_min_max.
  50. #======================================================
  51.  
  52. def wartosc_min_max2(x)
  53.         result0 = x[0]
  54.         result1 = result0
  55.         x.each{|y|
  56.             result0 = y if y > result0
  57.             result1 = y if y < result1
  58.         }
  59.         return [result0, result1]
  60. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement