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

Определить треугольники минимальной и максимальной площади, которые можно построить из отрезков - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Укажите путь заблудшему http://www.cyberforum.ru/cpp-beginners/thread770605.html
Есть строка вида "Alex Johnson|1234678901\nBill Gates|548161198\n" - т.е. "<Абонент>|<номер телефона>\n...". Написал функцию которая принимает в качестве параметра эту строку и возвращает массив структур: ... struct Abonent { char name; char number; }; ...
C++ в проекте - надо в проекте win32api вынести все в другой *cpp* а не получаеться определил функцию в другом спп и в основном ругается компилятор http://www.cyberforum.ru/cpp-beginners/thread770505.html
Определить треугольники минимальной и максимальной площади C++
Известны длины отрезков a, b, c и d. Определить треугольники минимальной и максимальной площади, которые можно построить из этих отрезков.
C++ Определить, пересекаются ли парабола и прямая
Определите, пересекаются ли парабола у=cx2+dx+f и прямая y=ax+b. При положительном ответе найти точки пересечения.
C++ составить программу,которая создает файл, состоящий из 10 значений типа int. прочитать файл и вычислить сумму его элементов http://www.cyberforum.ru/cpp-beginners/thread770461.html
составить программу,которая создает файл, состоящий из 10 значений типа int. прочитать файл и вычислить сумму его элементов
C++ Определить месторасположение точки в декартовой системе координат Задана точка M с координатами (x,y). Определить месторасположение этой точки в декартовой системе координат (является ли эта точка началом координат, лежит на одной из координатных осей или расположена в одном из координатных углов). подробнее

Показать сообщение отдельно
ya_noob
_
201 / 145 / 9
Регистрация: 08.10.2011
Сообщений: 432
24.01.2013, 14:40     Определить треугольники минимальной и максимальной площади, которые можно построить из отрезков
Буйство условий:

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
#include <iostream>
#include <cmath>
#include <cfloat>
 
using namespace std;
 
bool isTriangle( int a, int b, int c )
{
    if ( ( a + b - c < 0 ) || ( a + c - b < 0 ) || ( b + c - a < 0 ) )
        return false;
    return true;
}
 
double square( int a, int b, int c )
{
    return sqrt( ( a + b + c ) * ( b + c - a ) * ( a + c - b ) * ( a + b - c ) ) / 4.0;
}
 
int main()
{
    const char *tr[ 4 ] = { "abc", "abd", "acd", "bcd" };
    int a, b, c, d;
    double maxS = 0;
    int maxT = -1;
    double minS = DBL_MAX;
    int minT = -1;
    double S;
 
    cin >> a >> b >> c >> d;
    if ( isTriangle( a, b, c ) )
    {
        S = square( a, b, c );
        if ( S > maxS ) { maxS = S; maxT = 0; }
        if ( S < minS ) { minS = S; minT = 0; }
    }
    if ( isTriangle( a, b, d ) )
    {
        S = square( a, b, d );
        if ( S > maxS ) { maxS = S; maxT = 1; }
        if ( S < minS ) { minS = S; minT = 1; }
    }
    if ( isTriangle( a, c, d ) )
    {
        S = square( a, c, d );
        if ( S > maxS ) { maxS = S; maxT = 2; }
        if ( S < minS ) { minS = S; minT = 2; }
    }
    if ( isTriangle( b, c, d ) )
    {
        S = square( b, c, d );
        if ( S > maxS ) { maxS = S; maxT = 3; }
        if ( S < minS ) { minS = S; minT = 3; }
    }
 
    if ( maxT == -1 ) cout << "no triangles!" << endl;
    else cout << "max: " << tr[ maxT ] << " with S = " << maxS
        << "\nmin: " << tr[ minT ] << " with S = " << minS << endl;
 
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru