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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
PodOnoK
16 / 13 / 0
Регистрация: 10.01.2010
Сообщений: 252
#1

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

15.03.2012, 10:43. Просмотров 524. Ответов 1
Метки нет (Все метки)

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

Из 4 введенных чисел - C++
Из 4 введенных чисел найти сумму цифр которые лежат в диапазоне от 5 до 12. Вот кое что написал, да и то всегда выдает 0. Исправьте и...

Распознавание введенных символов - C++
Привет Есть задача при вводе чисел в массив проверять введенный сивол н корректность, если это int, записать его в массив, если char -...

Сумма введенных чисел - C++
:help: Вот задания: 1.Разработайте программу, которая спрашивает у пользователя количество чисел, потом пользователь вводит эти числа,...

Проверка введенных символов - C++
Привет. Мне нужно сделать переводчик с руского на английский и с английского на руский. У меня есть база с словами и переводами к ним...

Проверка введенных данных в С++ - C++
Задача такова: Имеется программа для работы с числами (пусть это будет, например, поднесение числа в квадрат, не суть) Соответственно,...

Количество введенных слов - C++
Вот что я смог сделать с этим заданием. И еще if по книге я еще не проходил, но применил больше вариантов не нашел. #include <iostream> ...

Проверка введенных данных - C++
Всем привет! Подскажите пожалуйста, каким образом можно проверить веденные данные при запросе цифр? То есть нужно проигнорить если...

Количество введенных символов - C++
подскажите есть задание С клавиатуры вводится последовательность символов до тех пор, пока не встретится символ, не являющийся цифрой....

Отслеживание введенных данных - C++
Доброго времени суток, Уважаемые форумчане. Столкнулся с проблемой. Есть необходимость отслеживать введенные данные. Нужно что бы данные...

Проверка введенных данных - C++
Доброго времени суток. Есть программа по переводу чисел из одной системы счисления в другую. Как сделать проверку введеннвх дпнных на...

Подсчет введенных символов - C++
Всем добрый день. Начал изучать С++ (чисто для себя) по книгде Г. Шилдта - "С++ Руководство для начинающих", там в конце 4 модуля имеется...

Посчитать количество введенных чисел - C++
Посчитать количество всех введенных чисел, которые делятся на 5, но не делятся на 10. Концом ввода является число 0. вот...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gitarillo
718 / 518 / 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;
}
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru