From c108c180baa62d0a05a86abf11761613edd84b21 Mon Sep 17 00:00:00 2001 From: Sovichh Date: Wed, 21 Feb 2018 02:33:27 +0300 Subject: [PATCH 1/4] homework 1 --- 2018/Serg-Lapata/hw-1/task.rb | 50 +++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 2018/Serg-Lapata/hw-1/task.rb diff --git a/2018/Serg-Lapata/hw-1/task.rb b/2018/Serg-Lapata/hw-1/task.rb new file mode 100644 index 000000000..f55d40632 --- /dev/null +++ b/2018/Serg-Lapata/hw-1/task.rb @@ -0,0 +1,50 @@ +def triangle(height, start_value) + rows = [] + + height.times do |row_number| + current_value = start_value + row = [current_value] + k = 1 + row_number.times do + current_value = current_value * (row_number - k + 1) / k + row << current_value + k += 1 + end + rows << row + end + + print_triangle(rows) +end + +def check_integer(int) + int < 1 ? raise('Got invalid number') : int.positive? ? int : raise('Got invalid number') +end + +def start_value + int = ENV['BASE_NUMBER'] + + unless int + puts 'Enter start value' + int = gets + end + + check_integer(int.to_i) +end + +def print_triangle(rows)[] + width_element = rows.last.max.to_s.length + 1 + width_last_row = width_element * rows.last.length + + rows.each.with_index do |row, row_number| + row_data = row.map do |element| + element.to_s.center(width_element) + end.join.center(width_last_row) + + puts "#{row_number}: #{row_data}" + end +end + +puts 'Enter height triangle' +height_triangle = gets.to_i +check_integer(height_triangle) +triangle(height_triangle, start_value) From a401fd203d5ff3fffc999d3d5219fac4e924599f Mon Sep 17 00:00:00 2001 From: Sovichh Date: Wed, 21 Feb 2018 02:54:00 +0300 Subject: [PATCH 2/4] fix typo --- 2018/Serg-Lapata/hw-1/task.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/2018/Serg-Lapata/hw-1/task.rb b/2018/Serg-Lapata/hw-1/task.rb index f55d40632..0decc93ca 100644 --- a/2018/Serg-Lapata/hw-1/task.rb +++ b/2018/Serg-Lapata/hw-1/task.rb @@ -17,7 +17,7 @@ def triangle(height, start_value) end def check_integer(int) - int < 1 ? raise('Got invalid number') : int.positive? ? int : raise('Got invalid number') +int.positive? ? int : raise('Got invalid number') end def start_value @@ -31,7 +31,7 @@ def start_value check_integer(int.to_i) end -def print_triangle(rows)[] +def print_triangle(rows) width_element = rows.last.max.to_s.length + 1 width_last_row = width_element * rows.last.length From 7b0ec8aaf4e1c5b7a8c0729638e652ef190537f4 Mon Sep 17 00:00:00 2001 From: Sovichh Date: Wed, 21 Feb 2018 02:57:53 +0300 Subject: [PATCH 3/4] add spaces --- 2018/Serg-Lapata/hw-1/task.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/2018/Serg-Lapata/hw-1/task.rb b/2018/Serg-Lapata/hw-1/task.rb index 0decc93ca..adb722343 100644 --- a/2018/Serg-Lapata/hw-1/task.rb +++ b/2018/Serg-Lapata/hw-1/task.rb @@ -17,7 +17,7 @@ def triangle(height, start_value) end def check_integer(int) -int.positive? ? int : raise('Got invalid number') + int.positive? ? int : raise('Got invalid number') end def start_value From 376d39980f30f6da9d112393fde09bc2900b9d3f Mon Sep 17 00:00:00 2001 From: Sovichh Date: Wed, 21 Feb 2018 03:00:37 +0300 Subject: [PATCH 4/4] add spaces --- 2018/Serg-Lapata/hw-1/task.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/2018/Serg-Lapata/hw-1/task.rb b/2018/Serg-Lapata/hw-1/task.rb index adb722343..c9298b947 100644 --- a/2018/Serg-Lapata/hw-1/task.rb +++ b/2018/Serg-Lapata/hw-1/task.rb @@ -17,7 +17,7 @@ def triangle(height, start_value) end def check_integer(int) - int.positive? ? int : raise('Got invalid number') + int.positive? ? int : raise('Got invalid number') end def start_value