Ruby/Практикум/Числа: различия между версиями

Содержимое удалено Содержимое добавлено
Строка 530:
'''Замечания по решению:'''
Координаты шахматной доски задаются не одними цифрами, а вначале идет буква, потом цифра. Данный код не будет работать, если вводить координаты буквами и цифрами.
 
'''Возможное решение:'''
<source lang=ruby>
def color(n) #функция для определения цвета клетки шахмотного поля
axis = n.split('') #полученное от юзера значение разбивается на массив, содержащий в первой ячейке букву, второй - цифру
case (axis[0])
when 'a','c','e','g' # если первая ячейка содержит в себе данные буквы и
if (((axis[1]).to_i).even? == true) # а вторая ячейка является четной, то цвет номер 0 (белый), если является нечетной - то цвет номер 1 (черный)
colorX = 0
else
colorX = 1
end
when 'b','d','f','h' # второй случай противоположен первому
if (((axis[1]).to_i).even? == true)
colorX = 1
else
colorX = 0
end
end
return colorX
end
puts 'Введите координаты первого поля, например e4.'
x1 = gets.chomp
puts 'Введите координаты второго поля, например f1.'
x2 = gets.chomp
if (color x1) == (color x2) # передаём значения х1 и х2 в функцию (которая вернет нам номер цвета) и сравниваем
puts 'цвета совпадают'
else
puts 'цвета разные'
end
</source>
 
'''Замечания по решению:'''
 
=== Дано трехзначное число. Необходимо определить есть ли среди цифр этого числа хотя бы две одинаковых. ===