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

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

06.10.2009, 06:15. Показов 2384. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Очень нужна помощь в турбо паскале ... Помогите решить задачу -

Даны действительные числа x1,y1,x2,y2,x3,y3. Выяснить, сколько общих точек имеют треугольник с координатами вершин (x1,y1), (x2,y2) и (x3,y3) и оси координат? (возможен ответ “бесконечное множество”)

Заранее спасибо )
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.10.2009, 06:15
Ответы с готовыми решениями:

Треугольник на плоскости задается координатами своих вершин; проверить, пересекают ли стороны треугольника оси координат
Треугольник на плоскости задается координатами своих вершин. Разработать алгоритм и реализовать...

На плоскости заданы два круга с радиусами R1, R2 и координатами центров C1 (x1, y1), C2 (x2, y2), выяснить, имеют ли они: одну, две, не имеют общих то
Разработать программу для вычисления простого выражения, входные данные ввести в компонента Edit1,...

Выяснить, существует ли треугольник с координатами вершин А(х1, у1) В(х2, у2) С(х3, у3)
Выяснить, существует ли треугольник с координатами вершин А(х1, у1) В(х2, у2) С(х3, у3) Помоги...

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

8
1 / 1 / 0
Регистрация: 06.10.2009
Сообщений: 24
06.10.2009, 13:23  [ТС] 2
ну что разве никто не может помочь ? )
0
Почетный модератор
64288 / 47587 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
06.10.2009, 15:49 3
ну что разве никто не может помочь ? )
А что, кто-то обязан? Это Вы обратитесь в раздел Фриланс, заплатите, потом требуйте.
0
1 / 1 / 0
Регистрация: 06.10.2009
Сообщений: 24
06.10.2009, 16:42  [ТС] 4
Цитата Сообщение от Puporev Посмотреть сообщение
А что, кто-то обязан? Это Вы обратитесь в раздел Фриланс, заплатите, потом требуйте.
1) где я тут требовал ? 2) спс , что дал понять , что ничего бесплатно не делается .
0
(Yellow_Duck)
1261 / 130 / 15
Регистрация: 16.10.2008
Сообщений: 733
06.10.2009, 17:05 5
Цитата Сообщение от iYoung Посмотреть сообщение
ну что разве никто не может помочь ? )
Много кто может, но разве тот кто может должен это делать? Или надо всем писать: "Я могу такое сделать" и уйти?
1
Почетный модератор
64288 / 47587 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
06.10.2009, 17:12 6
iYoung, Эта фраза
ну что разве никто не может помочь ? )
выглядит как требование.
Вы посмотрите темы в разделе, почти всем решают, но не сразу, а когда у кого время есть. Вашу прогу долго писать, да и геометрию лень повторять. Вот Вы бы хоть все предварительные расчеты привели, составили уравнения прямых, решили системы, определили формально координаты пересечения прямых с осями и т.д. Думаете это кому-то нужно? Это же не программирование, а геометрия. Вот и трудитесь, или платите, но не здесь. Здесь как раз помогают безвозмездно. А хамить будете, вообще вылетите.
0
1 / 1 / 0
Регистрация: 06.10.2009
Сообщений: 24
06.10.2009, 17:13  [ТС] 7
2 YeLLoW DucK ,ок , тогда ответьте, как правильно сформулировать вопрос , если я не знаю как решать и мне нужна помощь ?

2 Puporev , я как бы не хамил , ну все, что я смог сделать в этой задаче это начертить все возможные варианты пересечения , если бы я мог сделать все то , что написано выше , я бы не обратился за помощью ) ладно я понял точку зрения всех , пошел платно искать ) лабораторную сдавать все равно надо )
0
(Yellow_Duck)
1261 / 130 / 15
Регистрация: 16.10.2008
Сообщений: 733
06.10.2009, 18:40 8
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Ну во, вроде оно:
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
program triangle;
 
uses crt;
 
{--Функция для проверки принадлежности стороны треугольника одной из осей и
 --для проверки нахождения точки треугольника в пересечении осей--}
function ch(a:real; b:real):boolean;  
begin
if (a=0) and (b=0) then ch:=true
  else ch:=false;
end;
 
{--Функция для проверки (!)пересечения стороны треугольника с одной из осей--}
function int(x1:real;x2:real;y1:real;y2:real):byte;
var 
  res:integer;
begin
  res:=0;
  if x1*x2<0 then inc(res);
  if y1*y2<0 then inc(res);
  int:=res;
end;
 
{--Функция для проверки принадлежности стороны треугольника прямой, проходящей через центр координат--}
function cen(x1:real;x2:real;y1:real;y2:real):boolean;
begin
if (x1=-x2) and (y1=-y2) and (abs(x1)=abs(y1)) and (abs(x2)=abs(y2)) then cen:=true
  else cen:=false;
end;
 
var
  sum:byte;
  x1,x2,x3,y1,y2,y3:real;
 
begin
writeln('Введите координаты точек треугольника: ');
write('x1=',x1);
write('y1=',y1);
write('x2=',x2);
write('y2=',y2);
write('x3=',x3);
write('y3=',y3);
{--Если получилось так, что одна из сторон треугольника лежит на оси}
if ch(x1,x2) or ch(x1,x3) or ch(x2,x3) or ch(y1,y2) or ch(y2,y3) or ch(y1,y3) then
   writeln('Бесконечное множество') {то он имеет бесконечное множество точек пересечения с ними}
else begin  {Иначе это множество конечно и можно считать}
  sum:=0;   {Переменная для хранения результата}
  sum:=int(x1,x2,y1,y2)+int(x2,x3,y2,y3)+int(x3,x1,y3,y1); {Сумма пересечений каждого из отрезков прямыми}
  if ch(x1,y1) or ch(x2,y2) or ch(x3,y3) then {Если есть одна точка которая лежит в центре координатной плоскости
  то больше на осях точек концов отрезков быть не может. Значит прибавляем к результатут единицу}
    sum:=sum+1
  else begin
    {На каждой оси может быть только по одной точке концов отрезков сторон треугольника. Проверяем. Если есть, то 
    Увеличиваем результат на единицу}
    if (x1=0) or (x2=0) or (x3=0) then inc(sum);
    if (y1=0) or (y2=0) or (y3=0) then inc(sum);
  end;
   {Если одна из сторон треугольника лежит на прямой, проходящей через (0;0), то она имеет только одно пересечение
    с осями координат то удалим из результата единицу, которую мы туда написали лишнюю. Заметим такая сторона единственная}
  if cen(x1,x2,y1,y2) or cen(x2,x3,y2,y3) or cen(x1,x3,y1,y3) then dec(sum);
{Разобрали все случаи расположения треугольника, пишем ответ:}
writeln(sum);
end;
readkey;
end.
1
1 / 1 / 0
Регистрация: 06.10.2009
Сообщений: 24
06.10.2009, 19:30  [ТС] 9
Спасибо нереальное )
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.10.2009, 19:30
Помогаю со студенческими работами здесь

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

Выяснить, существует ли треугольник с координатами вершин A(x1,y1), B(x2,y2), C(x3,y3), если да, то найти его площадь
Выяснить, существует ли треугольник с координатами вершин A(x1,y1), B(x2,y2), C(x3,y3), если да, то...

Треугольник задан координатами вершин. Построить его, а затем растянуть по оси OY в два раза
Треугольник задан координатами вершин. Построить его, а затем растянуть по оси OY в два раза.в...

Треугольник задан координатами вершин. Построить его, а затем растянуть по оси OY в два раза
34. Треугольник задан координатами вершин. Построить его, а затем растянуть по оси OY в два раза.


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

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

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