Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 16.09.2013
Сообщений: 18
1

Написать программу: могут ли три числа быть длинами сторон треугольника?

26.11.2014, 05:42. Просмотров 1183. Ответов 1
Метки нет (Все метки)

Решите эту задачу:
даны три числа если они могут быть длинами сторон равнобедренного тупоугольного треугольника, то вычислите его площадь. Выведите длины сторон и площадь в порядке возрастания значений.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.11.2014, 05:42
Ответы с готовыми решениями:

Проверить, могут ли три положительных числа a, b, c быть длинами сторон треугольника.
Проверить, могут ли три положительных числа a, b, c быть длинами сторон треугольника.То есть должно...

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

Даны три числа, если они могут быть длинами сторон равнобедренного треугольника, вычислите длины его высот
Здравствуйте. Помогите пожалуйста, очень нужно. Моя подруга попросила решить меня, но я давно ничем...

Напишите программу, которая определит, могут ли эти числа быть длинами сторон равнобедренного треугольника
Дорогие мои, пожалуйста помогите, у меня не получается задача(( "На входе три числа. Напишите...

1
334 / 334 / 331
Регистрация: 02.10.2014
Сообщений: 666
26.11.2014, 07:14 2
Лучший ответ Сообщение было отмечено arsalandugarov как решение

Решение

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
#include <iostream>
#include <cmath>
 
int main(){
    
    const double EPS = 1e-10;
    double a[4];
    do{
        std::cout << "Ââåäèòå äëèííû ñòîðîí ÷åðåç ïðîáåë: ";
        std::cin >> a[0] >> a[1] >> a[2];
    }while(a[0] <= 0 || a[1] <= 0 || a[2] <= 0);
    
    for (int i = 0; i < 3; ++i)
        for (int j = 1; j < 3 - i; ++j)
            if (a[j - 1] > a[j]){
                double buf = a[j - 1];
                a[j - 1] = a[j];
                a[j] = buf;
            }
        
    if (a[0] + a[1] > a[2] && a[0] + a[2] > a[1] && a[1] + a[2] > a[0])
        if (fabs(a[0] - a[1]) < EPS && a[0]*a[0] + a[1]*a[1] > a[2]*a[2]){
        
            double p = (a[0] + a[1] + a[2])/2;
            a[3] = sqrt(p*(p - a[0])*(p - a[1])*(p - a[2]));            
        
            for (int i = 0; i < 4; ++i)
                for (int j = 1; j < 4 - i; ++j)
                    if (a[j - 1] > a[j]){
                        double buf = a[j - 1];
                        a[j - 1] = a[j];
                        a[j] = buf;
                    }
    
            for (int i = 0; i < 4; ++i)
                std::cout << ' ' << a[i] << std::endl;
        }   
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.11.2014, 07:14

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Выяснить, могут ли три введённых пользователем значения быть длинами сторон равнобедренного треугольника
помогите решить задачу,пожалуйста,я сделала, но программа не выводит

Проверить могут ли 3 числа быть длинами сторон прямоугольного треугольника
Введите три числа. Если они могут быть длинами сторон прямоугольного треугольника, выведите их в...

Проверить, могут ли три положительных числа быть длинами сторон треугольника
Даны три положительных числа а, b, c. Проверить, могут ли они быть длинами сторон треугольника....

Проверить, могут ли три заданных числа быть длинами сторон треугольника
Hi. Прошу помочь,самый легкий и рабочий вариант. Даны три положительных числа a,b,c....


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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