0 / 0 / 0
Регистрация: 23.02.2012
Сообщений: 8
1

Из множества выбрать три различные точки по условию

23.02.2012, 12:14. Показов 1796. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Даны два множества точек на плоскости.Bыбрать три различные точки первого множества так, чтобы треугольник с вершинами в этих точках накрывал все точки второго множества и имел минимальную площадь.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.02.2012, 12:14
Ответы с готовыми решениями:

Из множества выбрать три различные точки по условию
Даны 2 множества точек на плоскости. Выбрать три различные точки первого множества так, чтобы круг...

Из множества выбрать три различные точки по условию -из Turbo Pascal во Free Pascal
Даны 2 множества точек на плоскости. Выбрать три различные точки первого множества так, чтобы круг...

Из первого множества выбрать три различные точки
{Даны два множества точек на плоскости. Из первого множества выбрать три различные точки так, чтобы...

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

1
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
23.02.2012, 13:47 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
uses crt;
const nmax=15;
      e=0.001;{точность сравнения}
type point=record
           x,y:real;
           end;
     mnz=array[1..nmax] of point;{тип множеств}
function Sq(t1,t2,t3:point):real;{нахождение площади по координатам}
begin
sq:=abs((t1.x-t3.x)*(t2.y-t3.y)-(t2.x-t3.x)*(t1.y-t3.y));
end;
function Prin(t1,t2,t3,t:point):boolean;{принадлежность точки треугольнику}
var s,s1,s2,s3:real;
begin
s:=Sq(t1,t2,t3);
s1:=Sq(t1,t2,t);
s2:=Sq(t1,t3,t);
s3:=Sq(t3,t2,t);
Prin:=abs(s-s1-s2-s3)<=e;
end;
procedure Vvod(var a:mnz;var n:byte;c:char);{ввод множества}
var i:byte;
begin
repeat
write('Количество точек в множестве ',c,' от 3 до ',nmax,' n=');
readln(n);
until n in [3..nmax];
writeln('Введите координаты точек');
for i:=1 to n do
 begin
  writeln('Точка ',i);
  write('x=');readln(a[i].x);
  write('y=');readln(a[i].y);
 end;
clrscr;
end;
procedure Vyvod(a:mnz;n:byte;c:char);{вывод}
var i:byte;
begin
writeln('Координаты множества ',c,':');
write('N');
for i:=1 to n do
write(i:5);
writeln;
write('X');
for i:=1 to n do
write(a[i].x:5:1);
writeln;
write('Y');
for i:=1 to n do
write(a[i].y:5:1);
writeln;
writeln;
end;
var a,b:mnz;
    na,nb,i,j,k,p,imn,jmn,kmn,kt:byte;
    mn:real;
begin
clrscr;
Vvod(a,na,'A');
Vvod(b,nb,'B');
Vyvod(a,na,'A');
Vyvod(b,nb,'B');
imn:=0;
mn:=1.7e38;
for i:=1 to na-2 do
for j:=i+1 to na-1 do
for k:=j+1 to na do
 begin
  kt:=0;
  for p:=1 to nb do
  if Prin(a[i],a[j],a[k],b[p]) then kt:=kt+1;
  if (kt=nb)and(Sq(a[i],a[j],a[k])<mn) then
   begin
    mn:=Sq(a[i],a[j],a[k]);
    imn:=i;
    jmn:=j;
    kmn:=k;
   end;
 end;
if imn=0 then write('Треугольников по условию нет')
else
 begin
  writeln('Минимальная площадь треугольника по условию');
  write('образован точками ',imn,' ',jmn,' ',kmn,' = ',mn:0:2);
 end;
readln
end.
1
23.02.2012, 13:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.02.2012, 13:47
Помогаю со студенческими работами здесь

Выбрать три различные точки из заданного множества точек на плоскости по условию
вот у меня задача нарисовалась нужно выбрать три различные точки из заданного множества точек на...

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

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

Выбрать три различные точки из заданного множества
Доброго времени суток, буду вам очень признателен, если вы поможете мне решить вот эту задачу: ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru