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

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

Войти
Регистрация
Восстановить пароль
 
A7X
0 / 0 / 0
Регистрация: 13.11.2013
Сообщений: 15
#1

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

13.11.2013, 00:36. Просмотров 327. Ответов 3
Метки нет (Все метки)

Здравствуйте! Помогите исправить программу:

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
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <locale.h>
 
// Определить тип треугольника (прямо-, остро-, тупоугольный)с заданными координатми.
 
int main (){
    setlocale(0,"");
    double xA, xB, xC, yA, yB, yC, AB, BC, AC, alfaACB, alfaBAC, alfaABC;
    double eps = 0,01;
    scanf_s("%lf%lf%lf%lf%lf%lf", &xA, &yA, &xB, &yB, &xC, &yC);
 
    AB = sqrt(pow((xB - xA),2) + pow((yB - yA),2));
    BC = sqrt(pow((xC - xB),2) + pow((yC - yB),2));
    AC = sqrt(pow((xC - xA),2) + pow((yC - yA),2));
 
    bool flag = 0;
 
    while (flag == 0){
        alfaACB = (acos( - AB*AB + AC*AC + BC*BC ) / (2.0 * AC * BC)) * 180.0 / acos(-1.0);
 
        
        if ((alfaACB - 90.0) <= eps ){
            printf("Прямоугольный");
            flag = 1;
            break;
        }
        else if (alfaACB > (90.0 + eps)){
            printf("Тупоугольный");
            flag = 1;
            break;
        }
 
        alfaBAC = (acos( - BC*BC + AB*AB + AC*AC ) /( 2.0 * AB * AC)) * 180.0 / acos(-1.0);
        if ((alfaACB - 90.0) <= eps ){
            printf("Прямоугольный");
            flag = 1;
            break;
        }
        else if (alfaBAC > (90.0 + eps)){
            printf("Тупоугольный");
            flag = 1;
            break;
        }
 
        alfaABC = (acos( - AC*AC + AB*AB + BC*BC ) /( 2.0 * AB * BC)) * 180.0 / acos(-1.0);
        if ((alfaACB - 90.0) <= eps ){
            printf("Прямоугольный");
            flag = 1;
            break;
        }
        else if (alfaABC > (90.0 + eps)){
            printf("Тупоугольный");
            flag = 1;
            break;
        }
    }
    if (flag == 0) 
        printf("Остроугольный");
 
    _getch();
    return 0;
    }
При запуске - бесконечный цикл...
eps - точность.
Спасибо)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.11.2013, 00:36     Определить тип треугольника с заданными координатми
Посмотрите здесь:

Определить, лежит ли точка с заданными координатами внутри треугольника - C++
Как с помощью этого решить это: Определите, лежит ли точка с координатами (x0, y0) внутри треугольника, вершины которого расположены в...

Определить функцию вычисления площади треугольника по трем его сторонами, заданными действительными числами - C++
Условие: Даны действительные числа a, b, c, d. Найти площадь шестиугольника, изображенного на рис. 4.1. Определить функцию вычисления...

Определить тип треугольника. - C++
Задан треугольник с углами a, b и g. Определить тип треугольника — остроугольный, прямоугольный или тупоугольный.

Определить тип треугольника - C++
Здравствуйте. Подскажите что не так с кодом. Вот код на паскале var a,b,c:integer; begin writeln('A=,B=,C=:'); readln(a,b,c); ...

Определить тип треугольника по его точкам - C++
Что-то никак не получается :( На вход программы даются три наруральных числа a, b, c. Если не существует невырожденного треугольника...

Написать программу: определить тип треугольника - C++
Задан треугольник с углами a, b и g. Определить тип треугольника — остроугольный, прямоугольный или тупоугольный.

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zvoronz
271 / 238 / 21
Регистрация: 29.05.2012
Сообщений: 889
13.11.2013, 01:12     Определить тип треугольника с заданными координатми #2
Зачем тут вообще цикл? И чего вобще пляшите с углом если существует вот такая зависимость:
Если b2 + c2 - a2 > 0, угол α — острый
Если b2 + c2 - a2 = 0, угол α — прямой
Если b2 + c2 - a2 < 0, угол α — тупой
NikitaQ
5 / 5 / 1
Регистрация: 10.09.2013
Сообщений: 51
13.11.2013, 01:13     Определить тип треугольника с заданными координатми #3
acos( - AB*AB + AC*AC + BC*BC )

arccos(x)
-1<=x<=1

Вы ошиблись в формуле
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.11.2013, 01:36     Определить тип треугольника с заданными координатми
Еще ссылки по теме:

Определить тип треугольника используя исключительно оператор switch - C++
Здравствуйте, получил такую задачу. Дан треугольник, данные его стороны, определить его тип используя ИСКЛЮЧИТЕЛЬНО оператор switch. В...

Даны длины трех отрезков A, B, C. Определить возможность построения треугольника и его тип - C++
10. Даны длины трех отрезков A, B, C. Определить возможность построения треугольника и его вид (разносторонний, равнобедренный, равнос ...

Найти углы треугольника с заданными на плоскости координатами - C++
Составить программу вычисления величин: Углы треугольника с вершинами A(0;1.7), B(2;1.7), C(1.5;0,85) Пожалуйста если не трудно...

Вычислить координаты вершин треугольника, ограниченного двумя заданными прямыми и осью Х - C++
Не знаю даже,с чего начать. Вычислить координаты вершин треугольника,находящиеся на пересеении прямых y=k1*x+b1 и y=k2*x+b2 между собой и...

Вычислить периметр и площадь прямоугольного треугольника с заданными длинами его катетов - C++
Вычислить периметр и площадь прямоугольного треугольника с заданными длинами его катетов.

Описать структурный тип для представления геометрической фигуры кругюнаписаты програмуяка определяет, падает точка с заданными декартовыми координатам - C++
Описать структурный тип для представления геометрической фигуры круг.написаты програму которая определяет, падает точка с заданными...


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

Или воспользуйтесь поиском по форуму:
A7X
0 / 0 / 0
Регистрация: 13.11.2013
Сообщений: 15
13.11.2013, 01:36  [ТС]     Определить тип треугольника с заданными координатми #4
Спасибо))Все, оказывается, так просто
Yandex
Объявления
13.11.2013, 01:36     Определить тип треугольника с заданными координатми
Ответ Создать тему
Опции темы

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