Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 15.10.2012
Сообщений: 3

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

14.11.2012, 16:51. Показов 1061. Ответов 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
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.11.2012, 16:51
Ответы с готовыми решениями:

Вычислить площадь треугольника со сторонами k и прилежащими углами a и b
Вычислить площадь треугольника со сторонами k и прилежащими углами a и b. Помогите с написанием программы на C++. Правила п 4.3...

При изменении каких либо данных программа либо вылетает, либо просто не изменяет данные
Добрый вечер. Только недавно начал заниматься С++. И вот возникли проблемы. При изменении каких либо данных. Программа либо вылетает(Qt),...

Ввести с клави атуры знак арифметической операции(либо+,либо-,либо/)и два числа
Ввести с клавиатуры знак арифметической операции(либо+,либо-,либо/)и два числа.Вывести на экран результат.При вводе знака операции #-выход...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.11.2012, 16:51
Помогаю со студенческими работами здесь

Программа, которая сортирует список либо по среднему баллу, либо по алфавиту, либо по оценкам по заданному предмету
Список студенческой группы указан в виде файла записей. Каждая строка записи содержит фамилию студента и три экзаменационные оценки,...

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

Есть кучка из n камней. Два игрока играют в игру. Первый игрок на своем ходу может взять либо a1, либо a2, ., либо ak
Есть кучка из n камней. Два игрока играют в игру. Первый игрок на своем ходу может взять либо a1, либо a2, ..., либо ak камней. Второй...

две прямые либо паралельны либо совпадают либо не существуют
Д даны числа a1, b1, c1, a2, b2, c2. Напечатать координаты точки пересечения прямых, описываемых уравнениями a1x+b1y=c1 и a2x+b2y=c2, либо...

Вывести ряд чисел, кратных либо 2, либо 3, либо 5
Ребят погоди решить такую задачу, а то что-то то что делаю выдаёт не то. Ряд может быть до 1500 положительных чисел. Пользователь...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru