Форум программистов, компьютерный форум, киберфорум
Наши страницы

Visual Basic

Войти
Регистрация
Восстановить пароль
 
pesik
802 / 52 / 1
Регистрация: 01.12.2012
Сообщений: 221
#1

Найти кратчайший путь парохода - VB

01.12.2012, 21:09. Просмотров 826. Ответов 11
Метки нет (Все метки)

Здравствуйте, дорогие программисты и сисадмины. Мой преподаватель неплох в программировании на VB, но у него есть один минус - его слова забываются(да и сам я бестолочь). И вот спустя год отсутствия практики он выдает мне курсовой. Помогите пожалуйста написать код. Желательно с операторами попроще, так как это всего лишь для работа для колледжа. Задание во вложении. Заранее спасибо

Задание:
Пароход должен пройти из пункта М в пункт N, обойдя препятствие, стоящее на его пути между точками А и В. Найти кратчайший путь парохода, считая что точки M, N, A, B заданы на плоскости своими прямоугольными координатами (X, Y).
0
Миниатюры
Найти кратчайший путь парохода  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.12.2012, 21:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти кратчайший путь парохода (VB):

Найти кратчайший путь в графе - Visual Basic
Здравствуйте. Мне необходима помощь в решении курсовой. Необходимо найти кратчайший путь в направленном графе. Вот код моей...

Определить кратчайший путь между 2-мя точками - Visual Basic
Народ, помогите пожалуйста. Вручную написана схема того что должно получиться в итоге.

Закрасить кратчайший путь выхода из лабиринта - Visual Basic
дан массив 10*10, элементы которого лэйблы белого цвета, при нажатии курсором на белый лэйбл он становиться синим (стеной). после...

Игра охотник-жертва: Жертва убегает от охотника, а охотник выбирает кратчайший путь до жертвы - Visual Basic
Есть 2 точки: одна - охотник, другая - жертва. Жертва убегает от охотника, а охотник выбирает кратчайший путь до жертвы. Когда координаты...

Как полный путь преобразовать в путь для коммандной строки? - Visual Basic
Типа: C:Мои документыМоя Папка в C:Моидок~1Мояпап~1

найти кратчайший путь - Pascal
Задана система двухсторонних дорог. Для каждой пары городов найти длину кратчайшего путь между ними.

11
Казанский
13369 / 5260 / 1282
Регистрация: 24.09.2011
Сообщений: 8,168
01.12.2012, 23:07 #2
Не забудьте проверить, пересекаются ли отрезки АВ и MN.
Интереснее всего случай, когда отрезки частично совпадают
0
gaw
6632 / 1499 / 152
Регистрация: 09.01.2010
Сообщений: 4,270
01.12.2012, 23:43 #3
Цитата Сообщение от Казанский Посмотреть сообщение
пересекаются ли отрезки АВ и MN
а почему они должны пересекаться или не
0
Catstail
Модератор
22989 / 11355 / 1849
Регистрация: 12.02.2012
Сообщений: 18,593
01.12.2012, 23:44 #4
А где координаты препятствия?
0
pesik
802 / 52 / 1
Регистрация: 01.12.2012
Сообщений: 221
01.12.2012, 23:45  [ТС] #5
Наш преподаватель так же отличается туманностью в условиях, все что есть в задании - есть в задании.
0
gaw
6632 / 1499 / 152
Регистрация: 09.01.2010
Сообщений: 4,270
01.12.2012, 23:45 #6
это если не пересекаются то MN ?
0
Казанский
13369 / 5260 / 1282
Регистрация: 24.09.2011
Сообщений: 8,168
02.12.2012, 00:02 #7
Ну да А если и точка А, и точка В лежат на отрезке MN, то любое число, превосходящее |MN|, например
|MN|*(1+1e-14)
0
gaw
6632 / 1499 / 152
Регистрация: 09.01.2010
Сообщений: 4,270
02.12.2012, 00:11 #8
если и точка А, и точка В лежат на отрезке MN --- это значит что препятствие на MN, а его надо обходить, тогда либо 5я точка () либо решения нет
почему то кажется , что надо вообще проверять все четыре пары , вернее три, что б выполнялись xM<xA<xB<xN
ну и соотв с у
0
pesik
802 / 52 / 1
Регистрация: 01.12.2012
Сообщений: 221
02.12.2012, 00:24  [ТС] #9
все точки будут задаваться на форме через текст боксы шагами скорее всего... а может быть и нет... в общем мне нужно узнать как выглядит код командной кнопки.

Добавлено через 7 минут
все расстояния то есть)... блин чего делать вообще не понять
0
Alex77755
10604 / 3206 / 525
Регистрация: 13.02.2009
Сообщений: 9,416
02.12.2012, 14:48 #10
Вы забыли рассмотреть вариант когда точки M,N находятся с одной стороны от препятствия.
Хотя это оговорено в условии: проверка на пересечение. Тогда, думаю, просто вычислить расстояние при прожождении через точку А и точку В и сравнить
0
pesik
802 / 52 / 1
Регистрация: 01.12.2012
Сообщений: 221
03.12.2012, 18:05  [ТС] #11
Покажите как выглядит код к этой программе

Добавлено через 2 часа 26 минут
Сделал таки, если кому то интересно вот код
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Private Sub Command1_Click()
Dim Ax As Integer
Dim Ay As Integer
Dim Bx As Integer
Dim By As Integer
Dim Mx As Integer
Dim My As Integer
Dim Nx As Integer
Dim Ny As Integer
Ax = Text1.Text
Ay = Text2.Text
Bx = Text3.Text
By = Text4.Text
Mx = Text5.Text
My = Text6.Text
Nx = Text7.Text
Ny = Text8.Text
NB = Abs((Bx - Nx) + (By - Ny)) ^ 0.5
BM = Abs((Mx - Bx) + (My - By)) ^ 0.5
NA = Abs((Ax - Nx) + (Ay - Ny)) ^ 0.5
AM = Abs((Mx - Ax) + (My - Ay)) ^ 0.5
NBM = Round(Abs(NB) + Abs(BM))
NAM = Round(Abs(NA) + Abs(AM))
If NBM > NAM Then
Text9.Text = "путь через NB,BM(" + Str(NBM) + " ) короче на" + Str(NBM - NAM) + "шаг(а,ов)"
Else:
Text9.Text = "путь через NA,AM(" + Str(NAM) + " ) короче на" + Str(NAM - NBM) + "шаг(а,ов)"
End If
End Sub
0
Alex77755
10604 / 3206 / 525
Регистрация: 13.02.2009
Сообщений: 9,416
03.12.2012, 18:40 #12
так, вроде, звучит теорема Пифагора:
Visual Basic
1
NB = ((Bx - Nx) ^ 2 + (By - Ny) ^ 2) ^ 0.5
0
03.12.2012, 18:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.12.2012, 18:40
Привет! Вот еще темы с ответами:

Найти кратчайший путь - Информатика
ткните носом в маршрут, где будет 27(первый вариант ответа). сам не вижу... по-моему тут кратчайший 31

Найти кратчайший путь - C#
Всем привет, кто может, помогите: Дан двумерный массив, нужно найти кратчайший путь от левого нижнего элемента до правого верхнего...

Найти кратчайший путь в орграфе - Дискретная математика
Надо, например, найти кратчайший путь, на отрезках указана длина. Как решать подобные задачи или киньте ссылку.

Как найти НЕ Кратчайший путь в графе ? - C++
Мне нужно найти не кратчайший путь в графе от одной вершины к другой, граф неориентированный, задан списком смежности типа: 5 1 1 2 3...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.