Форум программистов, компьютерный форум CyberForum.ru

Треугольник в треугольнике - C++

Восстановить пароль Регистрация
 
kompnet
41 / 1 / 0
Регистрация: 11.10.2011
Сообщений: 100
04.12.2011, 15:28     Треугольник в треугольнике #1
Даны действительный числа x1,y1,x2,y2,...,x6,y6. Точки с координатами (x1,y1), (x2,y2), (x3,y3) рассматриваются как вершины первого треугольника, точки с координатами (x4,y4), (x5,y5), (x6,y6) - вершины второго треугольника. Выяснить, верно ли, что один треугольник целиком расположен внутри другого, и, если да, определить площадь области, принадлежащей внешнему треугольнику и не принадлежащей внутреннему. Определить подпрограммы, необходимые для выяснения взаимного расположения треугольников и вычисления площади треугольника.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2011, 15:28     Треугольник в треугольнике
Посмотрите здесь:

C++ Лежит ли точка в круге и треугольнике
Точка в треугольнике C++
C++ нахождение всех углов в треугольнике
C++ Определить, находится ли точка в треугольнике
Найти углы в треугольнике C++
Определение наличия тупого угла в треугольнике C++
Линейная задача о круге в треугольнике C++
C++ Найти длины высот в треугольнике

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kompnet
41 / 1 / 0
Регистрация: 11.10.2011
Сообщений: 100
11.12.2011, 13:20  [ТС]     Треугольник в треугольнике #2
Я программу то написал, но мне нужно чтобы она состояла из подпрограмм, но как это сделать
C++
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
#include <stdio.h>
#include <conio.h>
#include <math.h>
int main()
{float x1, x2, x3, x4, x5, x6, y1, y2, y3, y4, y5, y6,s1,s,s2,s11,s12,s13,s14,s15,s18,s19,s16,s17;
printf("\nВведите координаты 1 треугольника\n");
scanf("%f %f %f %f %f %f", &x1, &y1, &x2, &y2, &x3, &y3);
printf("Введите координаты 2 треугольника\n");
scanf("%f %f %f %f %f %f", &x4, &y4, &x5, &y5, &x6, &y6);
s1=fabs(((x2-x1)*(y3-y1)-(x3-x1)*(y2-y1)))/2;
s2=fabs(((x5-x4)*(y6-y4)-(x6-x4)*(y5-y4)))/2;
 
if (s1>s2)
{
s11=fabs(((x2-x1)*(y4-y1)-(x4-x1)*(y2-y1)))/2;
s12=fabs(((x4-x1)*(y3-y1)-(x3-x1)*(y4-y1)))/2;
s13=fabs(((x2-x4)*(y3-y4)-(x3-x4)*(y2-y4)))/2;
 
s14=fabs(((x2-x1)*(y5-y1)-(x5-x1)*(y2-y1)))/2;
s15=fabs(((x5-x1)*(y3-y1)-(x3-x1)*(y5-y1)))/2;
s16=fabs(((x2-x5)*(y3-y5)-(x3-x5)*(y2-y5)))/2;
 
s17=fabs(((x2-x1)*(y6-y1)-(x6-x1)*(y2-y1)))/2;
s18=fabs(((x6-x1)*(y3-y1)-(x3-x1)*(y6-y1)))/2;
s19=fabs(((x2-x6)*(y3-y6)-(x3-x6)*(y2-y6)))/2;
 
if ((s11+s12+s13+s14+s15+s16+s17+s18+s19)==s1*3) 
    {s=fabs(s1-s2); printf("%0.2f",s);} else printf("Treugolniki ne vnutri"); }
else  
{
s11=fabs(((x5-x4)*(y1-y4)-(x1-x4)*(y5-y4)))/2;
s12=fabs(((x1-x4)*(y6-y4)-(x6-x4)*(y1-y4)))/2;
s13=fabs(((x5-x1)*(y6-y1)-(x6-x1)*(y5-y1)))/2;
 
s14=fabs(((x5-x4)*(y2-y4)-(x2-x4)*(y5-y4)))/2;
s15=fabs(((x2-x4)*(y6-y4)-(x6-x4)*(y2-y4)))/2;
s16=fabs(((x5-x2)*(y6-y2)-(x6-x2)*(y5-y2)))/2;
 
s17=fabs(((x5-x4)*(y3-y4)-(x3-x4)*(y5-y4)))/2;
s18=fabs(((x3-x4)*(y6-y4)-(x6-x4)*(y3-y4)))/2;
s19=fabs(((x5-x3)*(y6-y3)-(x6-x3)*(y5-y3)))/2;
 
if ((s11+s12+s13+s14+s15+s16+s17+s18+s19)==s2*3)
    {s=fabs(s2-s1); printf("Площадь равна: %0.2f",s);} else printf("Треугольники не внутри");}
  
getch();
}
Yandex
Объявления
11.12.2011, 13:20     Треугольник в треугольнике
Ответ Создать тему
Опции темы

Текущее время: 21:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru