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

Треугольник задаётся либо тремя сторонами, либо двумя сторонами и углом между ними, либо стороной и двумя прилежащими углами ... - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Шаблонная структура http://www.cyberforum.ru/cpp-beginners/thread697519.html
template <class T> struct List{ T obj; struct List*next; }; class Hesh_table{ private: List *head; List *course; int size;
C++ memory leaks | Деструктор #ifndef INTEG_H_ #define INTEG_H_ #include <iostream> using namespace std; class integer{ private: int value; int i; http://www.cyberforum.ru/cpp-beginners/thread697512.html
Определить минимальный элемент массива C++
Помогите решить срочно !!! Записать элементы массива X в массив Y . Определить минимальный элемент массива X. Желательно с комментариями Заранее спасибо !!!
Определить слова которые не содержат букву а C++
Нужно сделать так, что бы при вводе любых слов из сочетания латинских букв(слова разделены пробелами и длина текста произвольная), прога показывала слова которые не содержат букву а. Признак конца -...
C++ C++ и дальнейшее его пременение http://www.cyberforum.ru/cpp-beginners/thread697483.html
Товарищи! С трудом дается, но дается С++, есть ли смысл покончить мукам конец? Я учусь на программиста, но пошла туда ради PHP, Java, MSQL. Связанны ли С++ и можно ли будет учить написанное выше...
C++ Заполнить линейный массив случайными числами Доброго времени суток. Помогите, пожалуйста, написать программу,которая заполняет линейный массив,размер которого задаются с клавиатуры,случайными натуральными числами в заданном диапазоне,выводит... подробнее

Показать сообщение отдельно
Dmitry_name
0 / 0 / 0
Регистрация: 15.10.2012
Сообщений: 3

Треугольник задаётся либо тремя сторонами, либо двумя сторонами и углом между ними, либо стороной и двумя прилежащими углами ... - C++

14.11.2012, 16:51. Просмотров 371. Ответов 0
Метки (Все метки)

Треугольник задаётся либо тремя сторонами, либо двумя сторонами и углом между ними, либо стороной и двумя прилежащими углами (три конструктора + конструктор по умолчанию). Всё написано, все нужные методы написаны)) Осталось только в main создать два объекта(два треугольника) и вывести на консоль сообщение о равенстве этих двух треугольников. Если что не так, поправьте код пожалуйста.

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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
//файл triangle_ .cpp
 
#include "triangle_.h"
#include <iostream>
#include <cmath>
using namespace std;
 
triangle_ :: triangle_ (){
    st1 = 1;
    st2 = 1;
    st3 = 1;
    yg1 = 60;
    yg2 = 60;
    yg3 = 60;
}
 
triangle_ :: triangle_ (float _st1, float _st2, float _st3){
    st1 = _st1;
    st2 = _st2;
    st3 = _st3;
    cos(yg1)=(st2*st2 + st3*st3 - st1*st1)/(2*st2*st3);
    yg1 = cos(yg1);
    cos(yg2)=(st1*st1 + st3*st3 - st1*st1)/(2*st1*st3);
    yg2 = cos(yg2);
    yg3 = 180 - (yg1 + yg2);
}
 
triangle_ :: triangle_ (float _st1, float _st2, float _yg1){
    st1 = _st1;
    st2 = _st2;
    yg1 = _yg1;
    st1=sqrt(st2*st2 + st3*st3 - 2*st2*st3*acos(yg1));
    sin(yg2)=(st2*sin(yg1))/st1;
    yg2 = sin(yg2);
    yg3 = 180 - (yg1 + yg2);
}
 
triangle_ :: triangle_ (float _st1, float _yg1, float _yg2){
    st1 = _st1;
    yg1 = _yg1;
    yg2 = _yg2;
    yg3 = 180 - (yg1 + yg2);
    st2 = (st1*sin(yg2))/sin(yg1);
    st3 = (st1*sin(yg3))/sin(yg1);
}
 
float triangle_ :: ploshad(float s)
{
    s = sqrt((st1+st2+st3)*(st1+st2)*(st2+st3)*(st1+st3));
    return s;
}
float triangle_ :: perimetr(float p)
{
    p = st1 + st2 + st3;
    return p;
}
void triangle_ :: TypeTriangle()
{
    if(((yg1+yg2) <yg3 )||(yg1+yg2) < yg2)||(yg1+yg2)<yg1))
        cout << "typoygolni" << endl;
    else
        if(((yg1+yg2) ==yg3 ) || ((yg1+yg2)==yg2) || ((yg1+yg2)==yg2))
            cout << "pryamoygolni" <<endl;
        else
            cout << "ostroygolni" <<endl;
    if(st1 == st2 == st3)
        cout << "ravnostoronni" << endl;
    if((st1==st2)||(st2==st3)||(st1==st3))
        cout << "ravnobedrenni" <<endl;
}
void triangle_ :: Visoti()
{
    float v1=0, v2=0, v3=0;
    v1 = sqrt((4*(st1+st2+st3)*(st1+st2)*(st2+st3)*(st1+st3))/st1);
    v2 = sqrt((4*(st1+st2+st3)*(st1+st2)*(st2+st3)*(st1+st3))/st2);
    v3 = sqrt((4*(st1+st2+st3)*(st1+st2)*(st2+st3)*(st1+st3))/st3);
    cout << "visoti iz 1 and 2 storoni, iz 2 and 3, iz 1 and 3 storon sootvetsnvenno" << v3 << v1 << v2 << endl;
}
void triangle_ :: Mediani()
{
    float m1=0, m2=0, m3=0;
    m1 = sqrt((2*st2*st2+2*st3*st3-st1*st1)/4);
    m2 = sqrt((2*st1*st1+2*st3*st3-st2*st2)/4);
    m3 = sqrt((2*st2*st2+2*st1*st1-st3*st3)/4);
    cout << "mediani iz 1 and 2 storoni, iz 2 and 3, iz 1 and 3 storon sootvetsnvenno" << m3 << m1 << m2 << endl;
}
void triangle_ :: Bissektrissi()
{
    float b1=0, b2=0, b3=0;
    b1 = sqrt((st2*st3*((st2+st3)*(st2+st3))-st1*st1)/(st2+st3)*(st2+st3));
    b2 = sqrt((st1*st3*((st1+st3)*(st1+st3))-st2*st2)/(st1+st3)*(st1+st3));
    b3 = sqrt((st2*st1*((st2+st1)*(st2+st1))-st3*st3)/(st2+st1)*(st2+st1));
    cout << "Bissektrissi iz 1 and 2 storoni, iz 2 and 3, iz 1 and 3 storon sootvetsnvenno" << b3 << b1 << b2 << endl;
}
void triangle_ :: Vpisannaya_Okryznost(float s, double p, double RV)
{   
    RV = s/p;
}
void triangle_ :: Opisannaya_Okryznost(float s, float RO)
{   
    RO=(st1*st2*st3)/(4*s)
}
int triangle_ :: sravnenue( triangle_ trg2)
{   
    if((st1==t2.st1 && st2==t2.st2 && st3==t2.st3)||
    (st1==t2.st1 && st2==t2.st3 && st3==t2.st2)||
    (st1==t2.st2 && st2==t2.st1 && st3==t2.st3)||
    (st1==t2.st2 && st2==t2.st3 && st3==t2.st1)||
    (st1==t2.st3 && st2==t2.st2 && st3==t2.st1)||
    (st1==t2.st3 && st2==t2.st1 && st3==t2.st2))                                                                                        
            return 1;       
    return 0;
}
 
 
//файл triangle_ .h
 
#ifndef _TRIANGLE_
#define _TRIANGLE_
 
class triangle_ {
    private:
        float st1, st2, st3;
        float yg1, yg2, yg3;
    public:
        triangle_ ();
        triangle_ (float _st1, float _st2, float _st3);
        triangle_ (float _st1, float _st2, float _yg1);
        triangle_ (float _st1, float _yg1, float _yg2);
        float Get_st1(){return st1;}                           //возвращение полей
        float Get_st2(){return st2;}
        float Get_st3(){return st3;}
        float Get_yg1(){return yg1;}
        float Get_yg2(){return yg2;}
        float Get_yg3(){return yg3;}
 
        void Set_st1(float _st1){st1 = _st1;}              //переприсваивание
        void Set_st2(float _st2){st1 = _st2;}
        void Set_st3(float _st3){st1 = _st3;}
        void Set_yg1(float _yg1){yg1 = _yg1;}
        void Set_yg2(float _yg2){yg2 = _yg2;}
        void Set_yg3(float _yg3){yg3 = _yg3;}
 
        float ploshad(float s);
        float perimetr(float p);
        void TypeTriangle();
        void Visoti();
        void Mediani();
        void Bissektrissi();
        void Vpisannaya_Okryznost(float s, double p, double RV);
        void Opisannaya_Okryznost(float s, float RO);
        int sravnenue( triangle_ t2);
        ~triangle_()
};
#endif
 
 
//файл main.cpp
 
#include <iostream>
#include "triangle_.h"
using namespace std;
 
void main()
{
    int num;
    cout << "Chto vam izvestno ? \n\n" << "Tri storoni(vvedite 0) \n" << "Dve storoni i ygol mezdy nimi (vvedite 1) \n" << "Storona i dva ygla (vvedite 2)" << endl;
    cin >> num;
    if(num < 0 || num > 2)
    {
        cout << "Error ! /n";
        return;
    }
    triangle_ trg1, trg2;
    if(num == 0){
        cout << "Vvedite storony 1: " << endl;
        cin >> trg1.st1;
        cout << "Vvedite storony 2: " << endl;
        cin >> trg1.st2;
        cout << "Vvedite storony 3: " << endl;
        cin >> trg1.st3;
        triangle_ (float st1, float st2, float st3);
        void print_polya();
        void print_dannie();
    }
            
    if(num == 1){
        cout << "Vvedite storony 1: " << endl;
        cin >> trg1.st1;
        cout << "Vvedite storony 2: " << endl;
        cin >> trg1.st2;
        cout << "Vvedite ygol mezdy nimi: " << endl;
        cin >> trg1.yg1;
        triangle_ (float st1, float st2, float yg1);
        void print_polya();
        void print_dannie();
    }
 
    if(num == 2){
        cout << "Vvedite storony 1: " << endl;
        cin >> trg1.st1;
        cout << "Vvedite prilezashi ygol 1: " << endl;
        cin >> trg1.yg1;
        cout << "Vvedite prilezashi ygol 2: " << endl;
        cin >> trg1.yg2;
        triangle_ (float st1, float yg1, float yg2);
        void print_polya();
        void print_dannie();
    }
    cin.get();  
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru