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

