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

Создать структуру, определяющую треугольник на плоскости

24.11.2015, 19:51. Показов 753. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вот в чем проблема: надо сократить код на максимум , подскажите что и как можна изменить?

Создать структуру, которая определяет треугольник на плоскости.

Переопределить операции:

"++" - Смещение треугольника на 10 пикселей вправо;

"-" - Смещение треугольника на 10 пикселей влево;

"<" - Сравнение площадей двух треугольников.

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
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
#include <iostream>
#include <math.h>
 
 
struct tochka{
             int x , y ;
};
 
struct TTriangle{
                 tochka t1 , t2 , t3 ;
};
 
TTriangle operator --(TTriangle q){
 q.t1.x-=10;
 q.t2.x-=10;
 q.t3.x-=10;
 return q;
}
 
TTriangle operator ++(TTriangle q){
 q.t1.x+=10;
 q.t2.x+=10;
 q.t3.x+=10;
 return q;
}
 
operator <(TTriangle q1,TTriangle q2){
 double s1,s2,l1,l2,l3,p;
 l1=sqrt((q1.t2.x-q1.t1.x)*(q1.t2.x-q1.t1.x)+(q1.t2.y-q1.t1.y)*(q1.t2.y-q1.t1.y));
 l2=sqrt((q1.t3.x-q1.t1.x)*(q1.t3.x-q1.t1.x)+(q1.t3.y-q1.t1.y)*(q1.t3.y-q1.t1.y));
 l3=sqrt((q1.t3.x-q1.t2.x)*(q1.t3.x-q1.t2.x)+(q1.t3.y-q1.t2.y)*(q1.t3.y-q1.t2.y));
 p=(l1+l2+l3)/2;
 s1=sqrt(p*(p-l1)*(p-l2)*(p-l3));
 l1=sqrt((q2.t2.x-q2.t1.x)*(q2.t2.x-q2.t1.x)+(q2.t2.y-q2.t1.y)*(q2.t2.y-q2.t1.y));
 l2=sqrt((q2.t3.x-q2.t1.x)*(q2.t3.x-q2.t1.x)+(q2.t3.y-q2.t1.y)*(q2.t3.y-q2.t1.y));
 l3=sqrt((q2.t3.x-q2.t2.x)*(q2.t3.x-q2.t2.x)+(q2.t3.y-q2.t2.y)*(q2.t3.y-q2.t2.y));
 p=(l1+l2+l3)/2;
 s2=sqrt(p*(p-l1)*(p-l2)*(p-l3));
 if(s1>s2)cout<<"S TTrianglea 1 > S TTrianglea 2"<<endl;
 else if(s1==s2)cout<<"S TTrianglea 1 = S TTrianglea 2"<<endl;
  else cout<<"S TTrianglea 1 < S TTrianglea 2"<<endl;
}
 
TTriangle input(){
 TTriangle q;
 cout<<"TTriangle:"<<endl<<"   tochka 1:"<<endl<<"      x:";
 cin>>q.t1.x;
 cout<<"     y:";
 cin>>q.t1.y;
 cout<<"   tochka 2:"<<endl<<"     x:";
 cin>>q.t2.x;
 cout<<"     y:";
 cin>>q.t2.y;
 cout<<"   tochka 3:"<<endl<<"     x:";
 cin>>q.t3.x;
 cout<<"     y:";
 cin>>q.t3.y;
 return q;
}
 
void output(TTriangle q){
 cout<<"TTriangle result:"<<endl<<"   tochka 1:"<<endl<<"      x:"<<q.t1.x<<endl<<"     y:"<<q.t1.y<<endl<<"   tochka 2:"<<endl<<"     x:"<<q.t2.x<<endl<<"     y:"<<q.t2.y<<endl<<"   tochka 3:"<<endl<<"     x:"<<q.t3.x<<endl<<"     y:"<<q.t3.y<<endl;
}
 
int main()
{
TTriangle tr1,tr2;
tr1=input();
tr2=input();
tr1<tr2;
tr1=--tr1;
tr2=++tr2;
output(tr1);
output(tr2);
system("pause");
 
        return 0;
}
//---------------------------------------------------------------------------
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.11.2015, 19:51
Ответы с готовыми решениями:

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

Создать структуру Треугольник. Фунциональность: периметр, площадь
Здравствуйте, уважаемые!!! Уже третий день :wall: бьюсь над решением задачи. Задача следующая:...

Треугольник задан длинами сторон A,B,C. Разработать схему алгоритма,определяющую,существует ли данный треугольник
Треугольник задан длинами сторон A,B,C. Разработать схему алгоритма,определяющую,существует ли...

Даны три точки на плоскости. Определить, можно ли создать из них правильный треугольник.
Всем привет, помогите пожалуйста написать код по задаче на Assembler Условие: Даны три точки на...

0
24.11.2015, 19:51
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.11.2015, 19:51
Помогаю со студенческими работами здесь

Создать структуру "треугольник" содержащую длины трех сторон
Создать структуру треугольник с тремя элементами a,b,c - длины трех сторон.Для N заданных...

Создать базовый класс Треугольник с 2 наследниками: Равносторонний треугольник, Прямоугольный треугольник
Задание звучит так: Нужно создать базовый класс Треугольник с двумя наследующими его классами - ...

Треугольник задан координатами вершин х 1 у1 х 2 у 2 х 3 у 3 точка а задана координатами х у требуется написать программу определяющую попадает ли указанная точка в заданный треугольник
Треугольник задан координатами вершин х 1 у1 х 2 у 2 х 3 у 3 точка а задана координатами х у...

Процедуры и функции: написать подпрограмму, определяющую какой треугольник можно построить.
Для заданных вещественных положительных чисел A, B, C написать подпрограмму, определяющую какой...


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

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

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