Задать произвольные координаты центров x(i), y(i) и радиусов r(i) для n окружностей - VB
Формулировка задачи:
Имеются две точки с координатами (a,b) и (c,d).
Задать произвольные координаты центров x(i),y(i) и радиусов r(i) для n окружностей. Определить, сколько из них содержат обе точки.
Примечание: обе точки лежат в круге, если (x(i)-a)2+(y(i)-b)2 < r(i)2 и (x(i)-c)2+(y(i)-d)2 < r(i)2.
Нужно написать программу(построить график) с 2 подпрограммами.Мне легче на С++ написать это чем на basic.Нужна помощь ребят.
Решение задачи: «Задать произвольные координаты центров x(i), y(i) и радиусов r(i) для n окружностей»
textual
Листинг программы
- Private Sub Command1_Click()
- Dim x() As Integer, y() As Integer, r() As Integer
- Dim i As Integer, kol As Integer, n As Integer
- Dim a As Integer, b As Integer, c As Integer, d As Integer
- Me.ScaleMode = 3: Me.DrawWidth = 5: Me.ForeColor = vbRed
- n = InputBox("Введите количество окружностей", "", 3)
- ReDim x(1 To n), y(1 To n), r(1 To n)
- a = InputBox("Введите координату Х первой точки", "", 200)
- b = InputBox("Введите координату У первой точки", "", 200)
- c = InputBox("Введите координату Х второй точки", "", 120)
- d = InputBox("Введите координату У второй точки", "", 150)
- PSet (a, b): PSet (c, d)
- For i = 1 To n
- x(i) = InputBox("Введите координату Х " & i & "-й окружности", "", 120 * i)
- y(i) = InputBox("Введите координату У " & i & "-й окружности", "", 180 / i)
- r(i) = InputBox("Введите радиус " & i & "-й окружности", "", 50 * i * 2)
- If (x(i) - a) ^ 2 + (y(i) - b) ^ 2 < r(i) ^ 2 And _
- (x(i) - c) ^ 2 + (y(i) - d) ^ 2 < r(i) ^ 2 Then
- kol = kol + 1
- End If
- Circle (x(i), y(i)), r(i), vbBlue
- Next
- MsgBox "Число окружностей содержащих обе точки равно " & kol, vbExclamation
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д