Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C++ & Basic]Попадание точек в круг


Автор: ALExDD 7.12.2008, 13:09
Помогите написать задачу..... 

Даны координаты 50 точек на плоскости. Определить № той из них, для которой круг радиуса R содержит максимальное количество точек множества. 

в голове ток отдельные фрагменты есть которые не знаю как связать  smile 

Автор: grigiv 7.12.2008, 19:49
Пишите - [email protected]
Помогу за вознаграждение!

Автор: kapbepucm 8.12.2008, 14:13
Попробую помочь даром smile 
Код

Private Type To4ka
  X As Long
  Y As Long
End Type
Public Sub Test()
  Const R As Long = 100 'радиус
  Dim To4ki(1 To 50) As To4ka
  Dim I As Long, MaxI As Long
  Dim MaxR As Double
  For I = 1 To 50 'заполнение
    To4ki(I).X = Int((100 * Rnd) - 100)
    To4ki(I).Y = Int((100 * Rnd) - 100)
  Next I
  MaxI = 1
  MaxR = To4ki(1).X ^ 2 + To4ki(1).Y ^ 2
  For I = 2 To 50
    If MaxR < To4ki(I).X ^ 2 + To4ki(I).Y ^ 2 Then
      MaxI = I
      MaxR = To4ki(I).X ^ 2 + To4ki(I).Y ^ 2
    End If
  Next I
  MsgBox "Номер " & CStr(MaxI)
End Sub

Автор: ALExDD 8.12.2008, 16:32
БАЛШОЕ ПАСИБА  smile 
 smile  smile  smile 

Автор: kapbepucm 9.12.2008, 11:31
Цитата(ALExDD @  8.12.2008,  16:32 Найти цитируемый пост)
БАЛШОЕ ПАСИБА
Пожалуйста.
Два дополнения.
1.Я имел ввиду, что центр круга находится в начале координат.
2.Если будут точки, не принадлижащие кругу, то любая из тех точек будет искомой.

Добавлено через 1 минуту и 31 секунду
В общем случае я просто искал самую "дальнюю" из всех 50 точек.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)