Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 10.05.2016
Сообщений: 6

Определить множество треугольников с вершинами в заданных точках, пересекающихся с окружностью

10.05.2016, 22:35. Показов 1605. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
На плоскости n точки заданы своими координатами, дана окружность радиуса R с центром в точке х0 у0. Составьте программу определяющую множество треугольников с вершинами в заданных точках,пересекающихся с окружностью.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.05.2016, 22:35
Ответы с готовыми решениями:

Указать множество всех треугольников с вершинами в заданных точках, пересекающихся c окружностью
Требуется решение от проффесионалов в Pascal На плоскости 71 точек заданы своими координатами, а также задана окружность с радиусом R и с...

Найти четырехугольник наибольшей площади с вершинами в заданных точках
На плоскости дан набор точек с целочисленными координатами. Необходимо найти четырехугольник наибольшей площади с вершинами в этих точках,...

Построить множество всех треугольников с вершинами в заданных точках
помогите пожалуйста р.с. я не совсем хорошо знаю русский задача: на плоскости заданы множество точек и окружность радиуса r с центром в...

4
1 / 1 / 3
Регистрация: 11.05.2016
Сообщений: 8
11.05.2016, 21:28
Множество треугольников пересекающихся с окружностью
0
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
12.05.2016, 05:50
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Ближе, так сказать, в PABC:
Pascal
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
type
  tPoints = record
    X, Y : Real;
    
    procedure ReadPoint(n : Integer);
    begin
      X := ReadLnReal('X(' + n + ') =');
      Y := ReadLnReal('Y(' + n + ') =');
    end;
  end;
  
function ReadPointsArray(n : Integer) : array of tPoints;
begin
  SetLength(Result, n);
  for var i := 1 to n do Result[i-1].ReadPoint(i);
end;
 
function Crossing(R : Real; p1, p2, p3 : tPoints) : Boolean;
  function inRadius(R : Real; p : tPoints) : Integer := (R*R - p.X*p.X - p.Y*p.Y > 0 ? 1 : 0);
begin
  var S := inRadius(R, p1) + inRadius(R, p2) + inRadius(R, p3);
  Result := (S = 1) or (S = 2);
end;
 
function isTriangle(p1, p2, p3 : tPoints) : Boolean;
  function len(p1, p2 : tPoints) : Real := sqrt(sqr(p1.X - p2.X) + sqr(p1.Y - p2.Y));
begin
  var L : array of Real := (len(p1, p2), len(p1, p3), len(p2, p3));
  L.Sort;
  Result := L[0] + L[1] > L[2];
end;
 
begin
  var n := ReadLnInteger('Количество точек: n =');
  var p := ReadPointsArray(n);
  var R := ReadLnReal('Радиус окружности: R =');
  var count := 0;
  for var p1 := 0 to n-3 do
    for var p2 := p1+1 to n-2 do
      for var p3 := p2+1 to n-3 do
        if Crossing(R, p[p1], p[p2], p[p3]) and isTriangle(p[p1], p[p2], p[p3]) then
          begin
            if count = 0 then WriteLn('Треугольники пересекающие окружность:');
            count += 1;
            WriteLnFormat('{0} : ({1},{2})-({3},{4})-({5},{6})',
              count, p[p1].X, p[p1].Y, p[p2].X, p[p2].Y, p[p3].X, p[p3].Y);
          end;
  if count = 0 then WriteLn('Нет треугольников пересекающих окружность.');
end.
0
0 / 0 / 0
Регистрация: 10.05.2016
Сообщений: 6
29.05.2016, 16:29  [ТС]
а можно попроще как -нибудь?
0
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
30.05.2016, 05:42
Цитата Сообщение от Vika2206 Посмотреть сообщение
а можно попроще как -нибудь?
Конечно можно!
Возьмите и выложите сюда ваш „более простой“ код…
;–)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.05.2016, 05:42
Помогаю со студенческими работами здесь

В одномерных массивах Х и Y одинакового размера n хранятся координаты n точек плоскости. Определить, сколько треугольников с вершинами в данных точках
В одномерных массивах Х и Y одинакового размера n хранятся координаты n точек плоскости. Определить, сколько треугольников с вершинами в...

Соединить конечное множество точек на плоскости замкнутой линией без самопересечений с вершинами в этих точках.
Соединить конечное множество точек на плоскости замкнутой линией без самопересечений с вершинами в этих точках.

Построить множество треугольников с вершинами в заданных точках
ДАно 3n точек на плоскости , причем не какие три не лежат на одной прямой. Построить множество треугольников с вершинами в этих точках так...

Построить множество треугольников с вершинами в заданных точках согласно условию
Прошу помочь с одним заданием по С++, начали изучать не так давно, поэтому не особо разбираюсь, пробовал сам, но получается бред... А...

Построить множество n треугольников с вершинами в заданных точках согласно условию
Дано 3n точек на плоскости, причём никакие три из них не лежат на одной прямой. Построить множество n треугольников с вершинами в этих...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru