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

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

Восстановить пароль Регистрация
 
chetca
0 / 0 / 0
Регистрация: 21.03.2014
Сообщений: 4
21.03.2014, 18:44     Вычислить площадь тупоугольного треугольника по координатам вершин #1
Пусть даны координаты трех точек на плоскости. Если они могут быть
вершинами тупоугольного треугольника, вычислите его площадь. Выведите
длины сторон в порядке убывания.
Я решал, но на равностороннем треугольнике тест валится. Выдает сообщение
что треугольник тупоугольный со всеми подробностями. Помогите пожалуйста
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
#include <iostream>                                                      
#include <clocale>                                                        
 
using namespace std;                                                    
int main()                                                                
{
    setlocale(LC_ALL,"Russian"); 
    const double pi=3.14159265;
    double x1,y1,x2,y2,x3,y3,a,b,c,i,j,k,p,S;                                             
    cout << "Введите координаты 3-х точек: "<<'\n';                           
    cout << "Введите первую координату"<<'\n';
    cin>>x1>>y1;
    cout << "Введите вторую координату"<<'\n';
    cin>>x2>>y2;
    cout << "Введите третью координату"<<'\n';
    cin>>x3>>y3;
 
    a=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));  
    b=sqrt((x3-x2)*(x3-x2)+(y3-y2)*(y3-y2));  
    c=sqrt((x3-x1)*(x3-x1)+(y3-y1)*(y3-y1));
    if((a+b>c)&&(a+c>b)&&(b+c>a))
    {
        p=(a+b+c)/2;
        S=sqrt(p*(p-a)*(p-b)*(p-c));
        if (a>b)                                    //k-наибольшая, i-наименьшая
            k=a;
        else
            k=b;
        if (c>k)
             k=c;
        if (a<b)
             i=a;
        else
            i=b;
        if (c<i)
             i=c;
         j=a+b+c-i-k;
         
         if(k*k>i*i+j*j)
         {
             cout<<"Площадь равна "<<S<<'\n';
             cout<<"Стороны в порядке убывания: "<<'\t'<<k<<'\t'<<j<<'\t'<<i<<'\n';
         }
         else
             cout<<"Треугольник не является тупоугольным"<<'\n';
    }
    else
        cout<<"Введеные координаты не являются координатами треугольника"<<'\n';
    system("pause");                                                    
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.03.2014, 18:44     Вычислить площадь тупоугольного треугольника по координатам вершин
Посмотрите здесь:

Два треугольника заданы координатами своих вершин A,B,C. Вычислить площадь треугольника и определить какой треугольник имеет большую площадь C++
По координатам трех вершин некоторого треугольника найти его площадь и периметр. C++
Определить вид треугольника по координатам вершин C++
C++ Вычислить периметр и площадь треугольника по заданным координатам его вершин
Если три точки могут быть вершинами разностороннего тупоугольного треугольника, вычислите его площадь C++
Вычислить площадь треугольника по координатам трех точек на плоскости C++
Вычислить площадь и периметр треугольника по координатам трех вершин C++
C++ Составить функцию вычисления площади треугольника по координатам вершин

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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