Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
нэ
64 / 64 / 42
Регистрация: 08.04.2010
Сообщений: 166
1

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

12.09.2010, 14:06. Просмотров 988. Ответов 1
Метки нет (Все метки)


N точек на плоскости (3=<N=<100) заданы координатами х и у. Найти номера каких-нибудь трех точек этого множества, образующих невырожденный треугольник с максимальным периметром . Если таких точек нет, сообщить об этом. Треугольник называется вырожденным , если его площадь равна 0.
Задачу решил, но сказали что нужно сделать с помощью записей. Помогите пожайлуста.
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
var
   a:array [1..300] of integer;
   i,j,k,l,n,mi,mj,mk:integer;
   d1,d2,d3,s,p,mp:real;
begin
   writeln('количество точек n= ');
   readln(n);
   for i:=1 to n do
   begin
      write('x[',i,']=');
      readln(a[2*i-1]);
      write('y[',i,']=');
      readln(a[2*i]);
   end;
    for i:=1 to n-2 do
       for j:=i+1 to n-1 do
          for k:=j+1 to n do
          begin
             d1:=sqrt(sqr(a[2*j-1]-a[2*i-1])+sqr(a[2*j]-a[2*i]));
             d2:=sqrt(sqr(a[2*k-1]-a[2*j-1])+sqr(a[2*k]-a[2*j]));
      d3:=sqrt(sqr(a[2*k-1]-a[2*i-1])+sqr(a[2*k]-a[2*i]));
             if (d1<>0) and (d2<>0) and (d3<>0) then
             begin
         p:=(d1+d2+d3)/2;
         s:=sqrt(p*(p-d1)*(p-d2)*(p-d3));
         if p>mp then
                begin
                   mi:=i;
            mj:=j;
                   mk:=k;
            mp:=p;
                end;
             end;
          end;
   if s<>0 then
   begin
      writeln('треугольник с максимальным периметром ');
      writeln('с точками:',mi,':',mj,':',mk);
      writeln(mP);
   end
   else
      writeln('треугольник вырожденный');
   readln;
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.09.2010, 14:06
Ответы с готовыми решениями:

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

Подпрограммы: заданы координаты вершин трех треугольников, определить треугольник с максимальным периметром
Ребят,помогите пожалуйста) заданы координаты вершин трех треугольников. определить треугольник с...

Найти 3 точки, которые образуют треугольник с максимальным периметром
Дан массив точек на плоскости X1Y1 X2Y2... Найти 3 точки, которые образуют треугольник с...

По заданным координатам точек на плоскости найти треугольник с минимальным периметром
Your a given coordinates of N points on the XY-plane.All points are different.Find the triangle...

__________________
Помогаю в написании студенческих работ здесь.
1
Модератор
63219 / 46976 / 32377
Регистрация: 18.05.2008
Сообщений: 113,854
12.09.2010, 15:32 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
type Point=record
         x,y:real;
     end;
var
   a:array [1..300] of Point;
   i,j,k,l,n,mi,mj,mk:integer;
   d1,d2,d3,s,p,mp:real;
.............................
for i:=1 to n do
   begin
      write('a[',i,'].x=');
      readln(a[i].x);
      write('a[',i,'].y=');
      readln(a[i].y);
   end;
и так далее точка номер и ее ее координаты
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.09.2010, 15:32

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

Определить треугольник с максимальным периметром
Заданы координаты вершин трех треугольников. Определить треугольник с максимальным периметром.

Определить треугольник с максимальным периметром
помогите написать процедуры в С# 2)заданы координаты вершин трех треугольников. Определить...

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

Из множества точек найти наибольший по площади треугольник
задача такая: Из множества точек найти наибольший по площади треугольник(равнобедренный и...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.