Ruby :: Aufgabe #4
5 Lösungen

Funktion welche Minimum und Maximum aus einem Array zurückgibt
Anfänger - Ruby
von Gustl
- 07.12.2012 um 17:36 Uhr
Programmieren Sie eine Funktion welche aus einem Array von Integer-Elementen das Minimum und Maximum zurückgibt.
Als Übergabe-Parrameter wird das Array übergeben.
Testen Sie die Funktion mit 2 Abfragen, bzw. mit 2 verschiedenen Arrays.
Hilfestellung: Sortierverfahren - Wikipedia
Als Übergabe-Parrameter wird das Array übergeben.
Testen Sie die Funktion mit 2 Abfragen, bzw. mit 2 verschiedenen Arrays.
Hilfestellung: Sortierverfahren - Wikipedia
Lösungen:

# Gibt das Minimum und Maximum eines Arrays aus # # @param [Array] zu untersuchendes Array # @return [Array] Minimum und Maximum def MinMax(arr) return [arr.min, arr.max] end

#eine Maximum und Minimum für Array ist schon implementiert: a = [4,3,67,23,12,46] b = [41,23,67,223,1112,426,2,10] puts a.max puts a.min puts b.max puts b.min

def min_and_max(a) ergebnis = [] ergebnis << a.min << a.max return erg end def min_and_max_alternativ(a) ergebnis = [] max = a[0] min = a[0] for i in 1..a.size-1 do max = a[i] if max < a[i] min = a[i] if min > a[i] end ergebnis << min << max end a = [4,3,67,23,12,46] b = [41,23,67,223,1112,426,2,10] p min_and_max(a) p min_and_max(b) p min_and_max_alternativ(a) p min_and_max_alternativ(b)

arr =[] 1.upto(100) do arr.push(rand(100000) + 1) end print "Aus den array #{arr} ist das\nMinimum:\t#{arr.min}\nMaximum:\t#{arr.max}"

=begin T.y.P. #4 By Lars I. Lines of Code: 13 =end #======================================================================== def findMin(array) =begin In: - array of which the minimum value is searched Out: - minimum value of the given array =end #Section - CODE #Section - Declarations pos_min = 0 #Section - Finding the min value 0.upto(array.length - 1) { |i| array[pos_min] > array[i] ? pos_min = i : "" } #Section - Output return array[pos_min] end #======================================================================== def findMax(array) =begin In: - array of which the maximum value is searched Out: - maximum value of the given array =end #Section - CODE #Section - Declarations pos_max = 0 #Section - Finding the max value 0.upto(array.length - 1) { |i| array[pos_max] < array[i] ? pos_max = i : "" } #Section - Output return array[pos_max] end arr = [] 1 .upto(100) { arr.push(rand(100000000) + 1) } print "array #{arr}\nThe minimum value:\t#{findMin(arr)}\nThe maximum value:\t#{findMax(arr)}"