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

Найти такой тупоугольный треугольник, для которого расстояние от точки до вершины тупого угла наибольшее

14.04.2015, 22:07. Показов 1077. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дано множество треугольников. Найти такой тупоугольный треугольник, для которого расстояние от точки (15,15) до вершины тупого угла наибольшее.
Таблица данных в конце.
ВЫДАЕТ ОШИБКУ Файл "Undefined FileName" не найден.
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
var i,j,n,p:integer;
pab,pac,pbc,pxa,pya,pxb,pyb,pxc,pyc,csa,csb,csc:real;
maxTreg:integer;
maxNumm:real;
a:array [1..10,1..10] of real;
b:array [1..10,1..10] of real;
c:array [1..10,1..10] of real;
d:array [1..10,1..10] of real;
Procedure work (ab,ac,bc,xa,ya,xb,yb,xc,yc:real);
var csa,csb,csc:real;
begin
ab:=(sqrt(sqr(xb-xa))+(sqr(yb-ya)));
ac:=(sqrt(sqr(xc-xa))+(sqr(yc-ya)));
bc:=(sqrt(sqr(xc-xb))+(sqr(yc-yb)));
csa:=(((sqr(ab))+(sqr(ac))-(sqr(bc)))/2*ab*ac);
csb:=(((sqr(ab))+(sqr(bc))-(sqr(ac)))/2*ab*bc);
csc:=(((sqr(ac))+(sqr(bc))-(sqr(ab)))/2*ac*bc);
end;
begin
  writeln('Кол-во треугольников n');
    readln(n);
  writeln('Введите матрицу А');
    for i:=2 to 3 do
      for j:=1 to n do
        readln(a[i,j]);
 
begin
  writeln('Введите матрицу B');
    for i:=2 to 3 do
      for j:=1 to n do
        readln(b[i,j]);
end;
begin
  writeln('Введите матрицу C');
    for i:=2 to 3 do
      for j:=1 to n do
        readln(c[i,j]);
end;
//Нумерация верхней строки матриц
begin
p:=0;
  for i:=1 to 1 do
    for j:=1 to n do
      p:=p+1;
      a[i,j]:=p;
      b[i,j]:=p;
      c[i,j]:=p;
end;     
//Присвоение значений координат из матриц 
for j:=1 to n do
begin
  pxa:=a[2,j];
  pya:=a[3,j];
  pxb:=b[2,j];
  pyb:=b[3,j];
  pxc:=c[2,j];
  pyc:=c[3,j];
work(pab,pac,pbc,pxa,pya,pxb,pyb,pxc,pyc);
//собрать в матрицу d номера и координаты тупоугольных труегольников
  if (csa)=>0 then
    d[1,j]:=a[1,j];
    d[2,j]:=a[2,j];
    d[3,j]:=a[3,j];
  if (csb)=>0 then
    d[1,j]:=b[1,j];
    d[2,j]:=b[2,j];
    d[3,j]:=b[3,j];
  if (csc)=>0 then
    d[1,j]:=c[1,j];
    d[2,j]:=c[2,j];
    d[3,j]:=c[3,j];
end;
//поиск треугольника удов. условию
maxTreg:=(sqr(15-(d[2,1]))+(sqr(15-(d[3,1]))));
maxNumm:=1;
for j:=2 to n do
for i:=2 to 3 do
  if ((sqr(15-(d[i,j])))+(sqr(15-(d[i,j]))))>maxTreg then
maxTreg:=((sqr(d[i,j]))+(sqr(d[i,j])));
maxNumm:=d[1,j]; 
begin
writeln('Треугольник номер ', maxTreg, 'Расстояние до точки ')
end; 
end.
Входные данные процедуры Work

ИмяСмыслТипСтруктура
AbСторона треугольникаВещественныйПростая переменная
AcСторона треугольникаВещественныйПростая переменная
BcСторона треугольникаВещественныйПростая переменная
XaКоордината точки A треугольника по оси XВещественныйПростая переменная
YaКоордината точки A треугольника по оси YВещественныйПростая переменная
XbКоордината точки B треугольника по оси XВещественныйПростая переменная
YbКоордината точки B треугольника по оси YВещественныйПростая переменная
XcКоордината точки C треугольника по оси XВещественныйПростая переменная
YcКоордината точки C треугольника по оси YВещественныйПростая переменная

Выходные данные процедуры Work

ИмяСмыслТипСтруктура
CsaУгол A треугольника в радианахВещественноеПростая переменная
CsbУгол B треугольника в радианахВещественноеПростая переменная
CscУгол C треугольника в радианахВещественноеПростая переменная

Входные данные программы

ИмяСмыслТипСтруктура
NКол-во треугольниковЦелоеПростая переменная
AМатрица с координатами точек A треугольниковВещественноеДвумерный массив
BМатрица с координатами точек B треугольниковВещественноеДвумерный массив
CМатрица с координатами точек C треугольниковВещественноеДвумерный массив

Промежуточные данные

ИмяСмыслТипСтруктура
PНомер треугольникаЦелоеПростая переменная

Выходные данные

ИмяСмыслТипСтруктура
maxTregНомер треугольника удов. условию задачиЦелоеПростая переменная
maxNummРасстояние от точки треугольника до точкиВещественноеПростая переменная
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.04.2015, 22:07
Ответы с готовыми решениями:

Найти расстояние от вершины до биссектрисы угла
В прямоугольном треугольнике катет АВ=6, гипотенуза ВС=10. Найти расстояние от вершины С до...

Найти вероятность того, что две точки и центр окружности образуют тупоугольный треугольник?
На окружности радуса R наудачу взяты две точки. Какова вероятность того, что эти точки и центр...

Найти (в градусах, минутах и секундах) все угла треугольника, вершины которого заданы координатами (x1, y1), (x2, y2), (x3, y3)
Найти (в градусах, минутах и секундах) все угла треугольника, вершины которого заданы координатами...

Какова вероятность того, что эти точки и центр образуют тупоугольный треугольник?
На окружности радиуса R наудачу взяты две точки. Какова вероятность того что эти точки и центр...

1
Эксперт Pascal/Delphi
6806 / 4565 / 4817
Регистрация: 05.06.2014
Сообщений: 22,438
17.04.2015, 09:04 2
Цитата Сообщение от Ислам09 Посмотреть сообщение
ВЫДАЕТ ОШИБКУ Файл "Undefined FileName" не найден.
Ничего подобного не выдавало. Была куча синтаксических ошибок. Исправлены.
Проверяйте работоспособность самого алгоритма.

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
var i,j,n,p:integer;
pab,pac,pbc,pxa,pya,pxb,pyb,pxc,pyc,csa,csb,csc:real;
maxTreg:real;
maxNumm:real;
a:array [1..10,1..10] of real;
b:array [1..10,1..10] of real;
c:array [1..10,1..10] of real;
d:array [1..10,1..10] of real;
Procedure work (ab,ac,bc,xa,ya,xb,yb,xc,yc:real);
var csa,csb,csc:real;
begin
ab:=(sqrt(sqr(xb-xa))+(sqr(yb-ya)));
ac:=(sqrt(sqr(xc-xa))+(sqr(yc-ya)));
bc:=(sqrt(sqr(xc-xb))+(sqr(yc-yb)));
csa:=(((sqr(ab))+(sqr(ac))-(sqr(bc)))/2*ab*ac);
csb:=(((sqr(ab))+(sqr(bc))-(sqr(ac)))/2*ab*bc);
csc:=(((sqr(ac))+(sqr(bc))-(sqr(ab)))/2*ac*bc);
end;
begin
  writeln('Кол-во треугольников n');
    readln(n);
  writeln('Введите матрицу А');
    for i:=2 to 3 do
      for j:=1 to n do
        readln(a[i,j]);
 
begin
  writeln('Введите матрицу B');
    for i:=2 to 3 do
      for j:=1 to n do
        readln(b[i,j]);
end;
begin
  writeln('Введите матрицу C');
    for i:=2 to 3 do
      for j:=1 to n do
        readln(c[i,j]);
end;
//Нумерация верхней строки матриц
begin
p:=0;
  for i:=1 to 1 do
    for j:=1 to n do
      p:=p+1;
      a[i,j]:=p;
      b[i,j]:=p;
      c[i,j]:=p;
end;
//Присвоение значений координат из матриц
for j:=1 to n do
begin
  pxa:=a[2,j];
  pya:=a[3,j];
  pxb:=b[2,j];
  pyb:=b[3,j];
  pxc:=c[2,j];
  pyc:=c[3,j];
work(pab,pac,pbc,pxa,pya,pxb,pyb,pxc,pyc);
//собрать в матрицу d номера и координаты тупоугольных труегольников
  if (csa)>=0 then
    d[1,j]:=a[1,j];
    d[2,j]:=a[2,j];
    d[3,j]:=a[3,j];
  if (csb)>=0 then
    d[1,j]:=b[1,j];
    d[2,j]:=b[2,j];
    d[3,j]:=b[3,j];
  if (csc)>=0 then
    d[1,j]:=c[1,j];
    d[2,j]:=c[2,j];
    d[3,j]:=c[3,j];
end;
//поиск треугольника удов. условию
maxTreg:=(sqr(15-(d[2,1]))+(sqr(15-(d[3,1]))));
maxNumm:=1;
for j:=2 to n do
for i:=2 to 3 do
  if ((sqr(15-(d[i,j])))+(sqr(15-(d[i,j]))))>maxTreg then
maxTreg:=((sqr(d[i,j]))+(sqr(d[i,j])));
maxNumm:=d[1,j]; 
begin
writeln('Треугольник номер ', maxTreg, 'Расстояние до точки ')
end; 
end.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.04.2015, 09:04
Помогаю со студенческими работами здесь

Найти две точки, расстояние между которыми наибольшее
N точек задано своими координатами на плоскости: массив X содержит абсциссы точек, массив Y -...


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

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

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