Add main program to execute specific methods based on command-line arguments and read array from file
parent
386361564b
commit
103cbbb25d
@ -0,0 +1,62 @@
|
|||||||
|
|
||||||
|
|
||||||
|
def find_min_element(arr)
|
||||||
|
min_element = arr[0]
|
||||||
|
arr.each do |element|
|
||||||
|
min_element = element if element < min_element
|
||||||
|
end
|
||||||
|
min_element
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
def find_first_positive_index(arr)
|
||||||
|
arr.each_with_index do |element, index|
|
||||||
|
return index if element > 0
|
||||||
|
end
|
||||||
|
nil
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
def find_first_positive(arr)
|
||||||
|
arr.each do |element|
|
||||||
|
return element if element > 0
|
||||||
|
end
|
||||||
|
nil
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
def main
|
||||||
|
method_name = ARGV[0]
|
||||||
|
file_path = ARGV[1]
|
||||||
|
|
||||||
|
if method_name.nil? || file_path.nil?
|
||||||
|
puts "Неправльный формат ввода. Использование: ruby program.rb <method_name> <file_path>"
|
||||||
|
puts "method_name: 'min', 'first_positive_index' или 'first_positive'"
|
||||||
|
exit
|
||||||
|
end
|
||||||
|
|
||||||
|
begin
|
||||||
|
array = File.read(file_path).split.map(&:to_i)
|
||||||
|
rescue Errno::ENOENT
|
||||||
|
puts "Файл не найден: #{file_path}"
|
||||||
|
exit
|
||||||
|
end
|
||||||
|
|
||||||
|
case method_name
|
||||||
|
when 'min'
|
||||||
|
result = find_min_element(array)
|
||||||
|
puts "Минимальный элемент: #{result}"
|
||||||
|
when 'first_positive_index'
|
||||||
|
result = find_first_positive_index(array)
|
||||||
|
puts "Индекс первого положительного элемента: #{result.nil? ? 'Нет положительного элемента' : result}"
|
||||||
|
when 'first_positive'
|
||||||
|
result = find_first_positive(array)
|
||||||
|
puts "Первый положительный элемент: #{result.nil? ? 'Нет положительного элемента' : result}"
|
||||||
|
else
|
||||||
|
puts "Неизвестный метод: #{method_name}"
|
||||||
|
puts "Доступные методы: 'min', 'first_positive_index', 'first_positive'"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
main if __FILE__ == $0
|
@ -0,0 +1 @@
|
|||||||
|
-10 -5 0 3 5 -2
|
Loading…
Reference in new issue