Консультация № 74048
04.02.2007, 14:34
0.00 руб.
0 1 1
Сдраствуйте!!! Мне очень нужна ваша помощь, напишите поалуйста программу. Я на втором курсе а задача третьего!!!
Плоское дно фонтана описывается замкнутой ломанной линией, без самопересечений причем никакие три вершины не лежат на одной прямой. Для организации фонтана между двумя заданными углами(вершинами) проложен гибкий кабель. Требуется НАПИСАТЬ ПРОГРАММУ ВЫЧЕСЛЯЮЩЮЮ ДЛИНУ КАБЕЛЯ!!!

ВЫХОДНЫЕ ДАННЫЕ
- в первой строке - число вершин
- в каждой из последующих N строк пара чисел через пробел являющаяся кординатами вершин: X1,Y2 ; X2,Y2......и далее.
В порядке обходаломанной против часовой стрелки, где 1,2....И - ломанных вершин.
- в последней строке номера соединяемых вершин(между ними найти длину кабеля)
- координаты вещественные.

ВЫХОДНЫЕ ДАННЫЕ
результат в виде лисла на экран.
ПРИМЕР
ВХОДНЫЕ ДАННЫЕ ВЫХОДНАЕ ДАННЫЕ
7 (количество вершин) 7,5
2, 0
5,0
6, 3.5
5, 6 КООРДИНАТЫ ВЕРШИН
4,2
3,7
0,5
3:7(номера соединяемых вершин)
ДОЛЖНА РИСОВАТЬ ОБЬЕКТ И РИСОВАТЬ И КАБЕЛЬ

Обсуждение

Неизвестный
05.02.2007, 13:06
общий
это ответ
Здравствуйте, Slide!
Если четко решать абстрактную задачу (строго по условию) - то смотри мини-форум.
Если же подходить к решению не инженерно, а математически, то собственно задача сводиться к поиску кратчайшего пути между двумя точками в произвольном регионе.
Допущения и подготовительные описатели:
Предположим, что достаточно точности в 0.001 от наибольшего расстояния по осям между двумя вершинами (это дополнительная мини-игра - проще говоря определение габаритов региона). Тогда создадим матрицу 1000х1000 - определим в ней заполненный регион. Он автоматически оказывается разбит на квадратные элементарные участки. Определим, что на каждом элементарном участке часть кабеля может идти по его граням. Вершины элементарных участков примем за узлы пути.
А затем простор для деятельности богатый. Методы нахождения кратайшего пути в матрице изучают еще в школе.
Форма ответа