![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Berline |
![]()
Сообщение
#1
|
Гость ![]() |
Дано n точек на плоскости: найти окружность на заданных точках и содержащую наибольшее число заданных точек.
Буду очень признателен, если кто поможет написать программу! |
![]() ![]() |
ShadowWatcher |
![]()
Сообщение
#2
|
Новичок ![]() Группа: Пользователи Сообщений: 29 Пол: Мужской Репутация: ![]() ![]() ![]() |
Перебор сделать легко:
Код For i:= 0 To Count-3 Do For j:=i + 1 To Count-2 Do For k:=j + 1 To Count-1 Do Begin GetRoundCenterAndRadius(x[i],y[i],x[j],y[j],x[k],y[k],NewCenterX,NewCenterY,NewR); NewCount := 0; For l:=0 To Count Do If PointOnRound(NewCenterX,NewCenterY,NewR,x[l],y[l]) Then Inc(NewCount); If NewCount > CurrentCount Then Begin CurrentCenterX := NewCenterX; CurrentCenterY := NewCenterY; CurrentR := NewR End End; WriteLn('Center: (',CurrentCenterX,';',CurrentCenterY.')'); WriteLn('Radius: ',CurrentR) Предполагается, что процедура GetRoundCenterAndRadius по координатам трёх точек возвращает центр и радиус окружности, на которой они лежат, а функция PointOnRound проверяет лежит ли точка на окружности указанного радиуса и с центром в указанноё точке. Написал бы и их, но геометрию уже забывать начал да и компилятора под рукой нет... А так думаю, что принцип можно понять, а дописать особого труда не составит даже для начинающего ![]() |
![]() ![]() |
![]() |
Текстовая версия | 7.09.2025 18:39 |