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

Вид треугольника - C++

Восстановить пароль Регистрация
 
саня голубев
1 / 1 / 0
Регистрация: 13.10.2012
Сообщений: 83
01.10.2013, 09:31     Вид треугольника #1
Даны произвольные числа a b c.Написать программу,которая проверяла бы,можно ли построить треугольник с такими длинами сторон, и если можно, то определить вид треугольника по соотношению сторон (равносторонний, равнобедренный, разносторонний) и по соотношению углов( остроугольный ,прямоугольный, тупоугольный). По результатам проверки вывести на экран соответствующее сообщение.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт C++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
01.10.2013, 10:36     Вид треугольника #2
Вспоминаем геометрию и пишем. В чем проблема-то?
HedgehogLu
01.10.2013, 12:43
  #3

Не по теме:

в двигателе прогресса видимо.
его слишком много

Savras
-1 / 2 / 1
Регистрация: 03.01.2013
Сообщений: 10
01.10.2013, 13:32     Вид треугольника #4
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
#include <iostream>
 
void prm(int a, int b, int c){
    if(((b *= b) + (c *= c) - (a *= a)) == 0)
        std::cout << "прямоугольный" << std::endl;
}
void ost(int a, int b, int c){
    if(((b *= b) + (c *= c) - (a *= a)) > 0)
        std::cout << "остроугольный" << std::endl;
}
void tup(int a, int b, int c){
    if(((b *= b) + (c *= c) - (a *= a)) < 0)
        std::cout << "тупоугольный" << std::endl;
}
 
int main(int argc, char** argv){
    setlocale( LC_ALL,"" );
 
    int a, b, c;
    std::cout << "Введите сторону А: ";
    std::cin >> a;
    std::cout << std::endl;
    std::cout << "Введите сторону В: ";
    std::cin >> b;
    std::cout << std::endl;
    std::cout << "Введите сторону С: ";
    std::cin >> c;
    std::cout << std::endl;
 
    if(a == b && b == c && c == a){
        std::cout << "Треугольник равносторонний, ";
        prm(a, b, c);
        ost(a, b, c);
        tup(a, b, c);
    }
 
    switch(true){
        case 1 :
            if(a == b && c < a){
                std::cout << "Треугольник равнобедренный, ";
                prm(a, b, c);
                ost(a, b, c);
                tup(a, b, c);
            }
        case 2 :
            if(b == c && a < b){
                std::cout << "Треугольник равнобедренный, ";
                prm(b, c, a);
                ost(b, c, a);
                tup(b, c, a);
            }
        case 3 :
            if(c == a && b < c){
                std::cout << "Треугольник равнобедренный, ";
                prm(c, a, b);
                ost(c, a, b);
                tup(c, a, b);
            }
        case 4 :
            if(a == b && c > a){
                std::cout << "Треугольник равнобедренный, ";
                prm(a, b, c);
                ost(a, b, c);
                tup(a, b, c);
            }
        case 5 :
            if(b == c && a > b){
                std::cout << "Треугольник равнобедренный, ";
                prm(b, c, a);
                ost(b, c, a);
                tup(b, c, a);
            }
        case 6 :
            if(c == a && b > c){
                std::cout << "Треугольник равнобедренный, ";
                prm(c, a, b);
                ost(c, a, b);
                tup(c, a, b);
            }
 
    }
 
    if(a != b && b != c && c != a){
        std::cout << "Треугольник разносторонний, ";
        prm(a, b, c);
        ost(a, b, c);
        tup(a, b, c);
    }
 
    return 0;
}
Hunter9494
 Аватар для Hunter9494
21 / 18 / 3
Регистрация: 29.10.2012
Сообщений: 154
01.10.2013, 14:48     Вид треугольника #5
эта будет попроще
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
#include "stdafx.h"
#include "iostream"
using namespace std;
 
 void main()
 {  double x;
      setlocale( LC_ALL,"Russian" );
int a,b,c;
int d[3],i,j,k;
 
cout<<"Введите стороны"<<endl;
cout<<"a "<<"b "<<"c "<<endl;
cin>>a;
d[0]=a;
cin>>b;
d[1]=b;
cin>>c;
d[2]=c;
for (i=0;i<3;i++)
{
for (j=0;j<3;j++)
{
if (d[j]<d[j+1])
{
k=d[j];
d[j]=d[j+1];
d[j+1]=k;
}
}
}
if (((a+b)>c)&&((a+c)>b)&&((b+c)>a))
 
{
    x=((d[2]*d[2])+(d[1]*d[1])-(d[0]*d[0]));
if(x==0)
cout<<"Прямоугольный"<<endl;
if(x>0)
cout<<"Остроугольный"<<endl;
if(x<0)
cout<<"Тупоугольный"<<endl;
    
    if((a!=c)&&(a!=b)&&(c!=b))
        cout<<"разносторонний"<<endl;
    else
    {
    if((a==b)&&(a==c)&&(b==c))
        cout<<"ровносторонний"<<endl;
    else
        cout<<"ровнобедренный"<<endl;
 
    }}
else cout<<"НЕ существует"<<endl;
 
 
 
 
 
system("pause");
 }
Добавлено через 4 минуты
Yandex
Объявления
01.10.2013, 14:48     Вид треугольника
Ответ Создать тему
Опции темы

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