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

Сравнение 2х введенных треугольник - C++

Восстановить пароль Регистрация
 
PodOnoK
16 / 13 / 0
Регистрация: 10.01.2010
Сообщений: 252
15.03.2012, 10:43     Сравнение 2х введенных треугольник #1
Ребята, помогите решить ниже поставленную задачу(нужно на завтра - а то я уже ничего вообще не успеваю):
Класс: Треугольник
атрибуты:
1) стороны а, б, с
2) 2а угла альфа и бета
Операции:
1) Существует ли такой треугольник
2) Вычисление площади треугольника
3) Радиус вписанной окружности
4)Радиус описанной окружности
Пользователь вводит атрибуты 2х треугольников. Определяет, площадь какого больше. Для треугольника с большей площадью вычислить радиус вписанной окружности, а для треугольника с меньше площадью - радиус описанной окружности.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.03.2012, 10:43     Сравнение 2х введенных треугольник
Посмотрите здесь:

C++ Количество введенных слов
C++ Из 4 введенных чисел
C++ Количество введенных символов
C++ Проверка введенных символов
Подсчет введенных символов C++
Проверка введенных данных C++
C++ Проверка введенных данных в С++
C++ Отслеживание введенных данных

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gitarillo
 Аватар для gitarillo
712 / 512 / 24
Регистрация: 17.06.2010
Сообщений: 1,012
Записей в блоге: 1
15.03.2012, 11:52     Сравнение 2х введенных треугольник #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
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
#include "stdafx.h"
#include <math.h>
#include <iostream>
using namespace std;
#include "conio.h"
const double pi=3.14;
class treugol
{
private:
    double a;
    double b;
    double c;
    double alfa;
    double beta;
    double convertRad(double); //на случай использования синусов/ косинусов
    double p();
    
public:
    treugol(int _a, int _b, int _c, double _alfa, double _beta);
    bool isTreug();
    double sqrTreug();
    double radiusNar(double);
    double radiusVnut(double);
};
 
// конвертация градусов в радианы
double treugol::convertRad(double val)
{
    return (val*pi)/180;
}
 
// конструктор класса
treugol::treugol(int _a, int _b, int _c, double _alfa, double _beta)
{
    a=_a;
    b=_b;
    c=_c;
    alfa=_alfa; //convertRad(_alfa); на случай использования трег функций
    beta=_beta; //convertRad(_beta);  на случай использования трег функций
}
 
 
 
// Проверка на существование треугольника
bool treugol::isTreug()
{
    if (180-alfa-beta<0) 
        return false;
    else
        return true;
}
 
// вычисление полупериметра
double treugol::p()
{
    return (a+b+c)/2;
}
 
// вычисление площади треугольника
double treugol::sqrTreug()
{
    double _p=p();
    
 
    return pow(_p*(_p-a)*(_p-b)*(_p-c),0.5);
}
 
 
// радиус описанной окружности
double treugol::radiusNar(double s)
{
    return (a*b*c)/(4*s);
}
 
// вычисление вписанной окружности
double treugol::radiusVnut(double s)
{
   double _p=p();
   return pow((_p*(_p-a)*(_p-b)*(_p-c))/_p , 0.5);
}
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    double first[5]={5, 6, 7, 30, 60};
    double second[5]={10, 8, 6, 20, 70};
    double s1, s2;
 
treugol firstTr(first[0], first[1], first[2], first[3], first[4]);
treugol secondTr(second[0], second[1], second[2], second[3], second[4]);
 
if (firstTr.isTreug())
{
    s1=firstTr.sqrTreug();
    cout << "First there is a triangle:\n" <<
        "S=:" << s1 << "\n";
 
}
else
    cout << "The first triangle is not there" << endl;
 
 
if (secondTr.isTreug())
{
    s2=secondTr.sqrTreug();
    cout << "Second there is a triangle:\n" <<
        "S=:" << s2 << "\n";
 
}
else
    cout << "The Second triangle is not there" << endl;
 
if (s1>s2)
{
    cout << "s1>s2\nRvn1=" << firstTr.radiusVnut(s1) << "\nRnar2=" << secondTr.radiusNar(s2) << endl;
}
else
    cout << "s1<s2\nRnar1=" << firstTr.radiusNar(s1) << "\nRvn2=" << secondTr.radiusVnut(s2) << endl;
 
 
_getch();
    return 0;
}
Yandex
Объявления
15.03.2012, 11:52     Сравнение 2х введенных треугольник
Ответ Создать тему
Опции темы

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