Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 24.04.2014
Сообщений: 20

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

05.05.2014, 22:40. Показов 2689. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
На плоскости находятся точки . Используя вспомогательную программу найти те точки , образующие замкнутый контур этого множества.
Помогити девушке ришить задачку вотакую
Спасиюо за помощь)))
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.05.2014, 22:40
Ответы с готовыми решениями:

Найти точки образующие замкнутый контур плоскости
На плоскости находятся точки. Используя под-программу найти те точки, образующие замкнутый контур этой плоскости. У меня есть код, но...

Из множества точек на плоскости найти точки, образующие параллелограмм с наибольшим количеством точек внутри
"Даны N точек на плоскости. Найти среди них точки являющиеся вершинами фигуры, содержащей максимальное число заданных точек. Фигура -...

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

2
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
06.05.2014, 10:51
Лучший ответ Сообщение было отмечено Liechka как решение

Решение

Цитата Сообщение от Liechka Посмотреть сообщение
найти те точки , образующие замкнутый контур этого множества.
Это какие те? Замкнутый контур можно провести и через все точки.

Добавлено через 26 минут
Вот решал задачу с похожим условием.
N точек на плоскости заданы своими координатами.
Найти порядок, в котором можно соединить эти точки,
чтобы получился N-угольник-т.е. не было бы пересечений сторон.
Графическую часть если не нужно, можно выкинуть.
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
uses crt,graphABC;
const nmax=15;
{угол направления от левой точки к правой
от оси Х}
type point=record
           x,y:integer
           end;
function Ugol(a,b:point):real;
begin
if a.x=b.x then
 begin
  if a.y<b.y then Ugol:=pi/2
  else Ugol:=-pi/2;
 end
else
 if a.y=b.y then
  begin
   if a.x<b.x then Ugol:=0
   else Ugol:=pi;
  end
else Ugol:=arctan((b.y-a.y)/(b.x-a.x));
end;
 
var a:array[1..nmax] of point;{исходный массив точек}
    p:array[1..nmax+1] of point;{замкнутая ломаная=полигон}
    b:array[1..nmax] of integer;{массив номеров точек исходного массива}
    c:array[1..nmax+1] of integer;{массив номеров в порядке обхода}
    n:integer;{количество точек в исходном}
    np:integer;{то же в полигоне}
    i,j,imx,k,y,xc,yc:integer;
    x:point;{буфер для обмена при сортировке}
    mx:real;{максимальный угол}
    s:string;
begin
randomize;
repeat
write('2<n<=',nmax,' n=');
readln(n);
until n in [3..nmax];
for i:=1 to n do{координаты точек в пределах экрана}
 begin
  a[i].x:=random(600)-300;
  a[i].y:=random(400)-200;
 end;
for i:=1 to n do{номера по порядку}
b[i]:=i;
writeln('Ishodnyj massiv:');
write(' ':2);
for i:=1 to n do
write(b[i]:5);
writeln;
write('x:');
for i:=1 to n do
write(a[i].x:5);
writeln;
write('y:');
for i:=1 to n do
write(a[i].y:5);
writeln;
{сортировка по возрастанию координаты Х}
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i].x>a[j].x then
 begin
  x:=a[i];
  a[i]:=a[j];{обмениваем точки}
  a[j]:=x;
  y:=b[i];
  b[i]:=b[j];{и их номера}
  b[j]:=y;
 end;
writeln;
writeln('Sortirovannyj massiv:');
write(' ':2);
for i:=1 to n do
write(b[i]:5);
writeln;
write('x:');
for i:=1 to n do
write(a[i].x:5);
writeln;
write('y:');
for i:=1 to n do
write(a[i].y:5);
writeln;
{Построение замкнутой ломаной без пересечений=многоугольника}
np:=1;{первая левая точка}
p[1]:=a[1];
c[1]:=b[1];{ее номер}
i:=1;
while i<n do{до предпоследней}
 begin
  mx:=Ugol(a[i],a[i+1]);{пока макс угол первые 2 соседних}
  imx:=i+1;{номер точки для построения}
  for j:=i+1 to n do{проверяем все точки впереди}
  if Ugol(a[i],a[j])>mx then
   begin
    mx:=Ugol(a[i],a[j]);{выбираем точку с макс углом}
    imx:=j;
   end;
  np:=np+1;{добавляем в массив для полигона координаты и номер}
  p[np]:=a[imx];
  c[np]:=b[imx];
  {удаляем ее из исходного массива}
  if imx=n then n:=n-1{если последняя, обрезаем}
  else{иначе сдвигаем на нее хвост массива}
   begin
    for k:=imx to n-1 do
     begin
      a[k]:=a[k+1];
      b[k]:=b[k+1];
     end;
    n:=n-1;{обрезаем}
   end;
  i:=imx-1;{встаем перед удаленной}
 end;
for i:=n downto 1 do{пишем начиная с конца все оставшиеся точки}
 begin
  np:=np+1;
  p[np]:=a[i];
  c[np]:=b[i];
 end;
writeln('Mnogougolnik:');
write(' ':2);
for i:=1 to np-1 do {первую точку полигона вывожим 1 раз}
write(c[i]:5);
writeln;
write('x:');
for i:=1 to np-1 do
write(p[i].x:5);
writeln;
write('y:');
for i:=1 to np-1 do
write(p[i].y:5);
readln;
clearwindow;
i:=0;
j:=0;
xc:=windowwidth div 2;
yc:=windowheight div 2;
for i:=1 to np do{определяем экранные координаты точек}
 begin
  p[i].x:=xc+p[i].x;
  p[i].y:=yc-p[i].y;
 end;
setpencolor(clRed);
polygon(p,np);{рисуем полигон}
setpencolor(clGreen);
for i:=1 to np do{выводим точки и их номера}
 begin
   circle(p[i].x,p[i].y,2);
   //str(c[i],s);
   textout(p[i].x+10,p[i].y,inttostr(c[i]));
 end;
end.
0
0 / 0 / 0
Регистрация: 24.04.2014
Сообщений: 20
07.05.2014, 22:08  [ТС]
Спасибочки)))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.05.2014, 22:08
Помогаю со студенческими работами здесь

Подпрограммы. Для точки на плоскости найти расстояние от точки до начала координат
Для точки на плоскости с заданными координатами (x,y) найти расстояние l от точки до начала координат, а также длину окружности и площадь...

Найти расстояние от точки (x; y) на плоскости до ближайшей точки единичного круга - Pascal ABC
Прошу помочь разобраться в данной теме. Как вообще решать данного типа задачи? Даны координаты точки на плоскости (x; y). Надо найти...

Найти мощность множества всех геометрических углов на плоскости ( т.е пар лучей из одной точки )
Найти мощность множества всех геометрических углов на плоскости ( т.е пар лучей из одной точки )

Дана точка A и множество B из N точек. Найти номер точки из множества B, наиболее удаленной от точки A
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;time.h&gt; #define B 100 using namespace std; void gen...

Найти номер точки из множества В, наиболее близкой от точки А
Дана точка А и множество В из N точек. Найти номер точки из множества В, наиболее близкой от точки А. Заранее спасибо.


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru