Комментарии
- 4 мар 2020 17:03Debugger32 CHERAKSHEWЯ походу не в теме
- 4 мар 2020 17:04Debugger32 CHERAKSHEWЧто автор поста пытается донести до нас?
- 4 мар 2020 17:48Юрий Казекин ответил Debugger32 CHERAKSHEWУчебник написан неправильно.
Для того чтобы оставить комментарий, войдите или зарегистрируйтесь
Группа для программистов ( programming )
:Юрий Казекин
А на самом деле надо вот это.
Почувствуйте разницу!
Option Explicit
Rem 290.1. Даны декартовы координаты N точек на плоскости.
Rem Составить программы решения следующих задач.
Rem а) Найти две самые близкие друг к другу точки.
Rem б) Найти две самые удалённые друг от друга точки.
Rem в) Найти три точки, лежащие в вершинах треугольника
Rem с наибольшим периметром.
Rem г) Найти две ближайшие точки, отрезок между которыми может
Rem служить радиусом окружности, заключающей внутри себя все
Rem остальные точки. Указать, какая из них является центральной.
Private Sub C1_Click()
Rem Число точек
Dim N As Integer
N = 20
Rem Координаты точек
Dim x(20) As Integer, y(20) As Integer
Dim r(20, 20) As Single
Dim a As Integer, b As Integer, c As Integer, d As Integer
Dim g As String
Dim j As Single
Rem 1. Генерация точек
For a = 1 To N
x(a) = Rnd() * 100
y(a) = Rnd() * 100
g = "(" & x(a) & ", " & y(a) & ")"
Print g
Next
Rem 2. Расчёт расстояний между точками
For a = 1 To N
For b = 1 To N
c = x(a) - x(b)
d = y(a) - y(b)
r(a, b) = Sqr(c * c + d * d)
Next
Next
Rem 3. Поиск минимального расстояния между точками
c = 1
d = 2
j = r(1, 2)
For a = 1 To N
For b = a + 1 To N
If r(a, b) < j Then
c = a
d = b
j = r(a, b)
End If
Next
Next
g = "1. Минимум: r (" & c & ", " & d & ") = " & j & "."
Print g
Rem 4. Поиск максимального расстояния между точками
c = 1
d = 2
j = r(1, 2)
For a = 1 To N
For b = a + 1 To N
If r(a, b) > j Then
c = a
d = b
j = r(a, b)
End If
Next
Next
g = "2. Максимум: r (" & c & ", " & d & ") = " & j & "."
Print g
End Sub