Информатика, опубликовано 2018-08-22 18:36:24 by Гость
Вводится число N. Затем N пар чисел, являющихся координатами точек на плоскости (все вводимые числа целые). Определить длину ломаной линии, образованной данными точками. Пояснение. Первое введенное число (4) показывает, сколько пар чисел программа будет ждать на ввод. Следующие числа – координаты точек. Расстояние на плоскости между точками (0;0) и (3;4) равно 5, между точками (3;4) и (6;0) также равно 5, а между точками (6;0) и (12;8) равно 10. Общая длина получившейся ломаной линии 5 + 5 + 10 = 20.
Ответ оставил Гость
# Код на ruby 2.2.3p173
def distance(x1, y1, x2, y2)
return ((x1 - x2) ** 2.0 + (y1 - y2) ** 2.0) ** 0.5
end
def zadanie(points)
return 0 if points.size
s = 0
for i in 1...points.size
s += distance(points[i-1][0], points[i-1][1], points[i][0], points[i][1])
end
return s
end
# Примеры применения
p zadanie([[1,1]])
p zadanie([[1,1],[2,2]])
p zadanie([[1,1],[2,1],[3,1],[4,1],[5,1],[6,1],[7,1],[8,1],[9,1]])
p zadanie([[0,1],[2,1],[3,2],[4,1],[5,1],[6,1],[7,2],[8,1],[9,1],[7,2],[8,1],[9,1]])
Не нашли ответа?
Если вы не нашли ответа на свой вопрос, или сомневаетесь в его правильности, то можете воспользоваться формой ниже и уточнить решение. Или воспользуйтесь формой поиска и найдите похожие ответы по предмету Информатика.
Форма вопроса доступна на