Nadesłany przez Nikodem Solarz, 14 stycznia 2013 15:15
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.Pobierz pełne rozwiązanie.
element_min_max.rb:
#====================================================== #**Implementacja algorytmu szukania min/max wartości z tablicy #**Narzew #**14.01.2013 #**dla portalu algorytm.org #====================================================== #====================================================== #**x => tablica #====================================================== #====================================================== #**wartosc_max - zwróć maksymalny element #====================================================== def wartosc_max(x) result = x[0] x.each{|y| result = y if y > result } return result end #====================================================== #**wartosc_min - zwróć minimalny element #====================================================== def wartosc_min(x) result = x[0] x.each{|y| result = y if y < result } return result end #====================================================== #**wartosc_min_max - zwróć tablicę z maksymalnym (0) #**i minimalnym (1) elementem. Wymaga dwóch poprzednich #**metod do działania. #====================================================== def wartosc_min_max(x) return [wartosc_max(x), wartosc_min(x)] end #====================================================== #**wartosc_min_max2 - zwróć tablicę z maksymalnym (0) #**i minimalnym (1) elementem. Podwójne użycie zliczenia #**w jednym cyklu. Wydajniejsza od wartosc_min_max. #====================================================== def wartosc_min_max2(x) result0 = x[0] result1 = result0 x.each{|y| result0 = y if y > result0 result1 = y if y < result1 } return [result0, result1] end