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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Правильно ли сделал http://www.cyberforum.ru/cpp-beginners/thread167304.html
Нужно проверить правильно ли я сделал?? #include <iostream.h> #include <math.h> void main() { double k,a,n,m,p; cout <<"Vvedite M-->"; cin >> m; cout <<"Vvedite N-->";
C++ Литература по бинарным деревьям Здраствуйте. Надо сделать задание на бинарные деревья, я ничего о них не знаю. Может у кого есть какая литература где можно о них прочесть (для новичка). Спасибо заранее!!!!! Добавлено через 10... http://www.cyberforum.ru/cpp-beginners/thread167303.html
C++ Нужен кусок программы.
Доброго времени суток. Уважаемые программисты и сисадмины. опять пришел я к вам с прозьбой. и так. Нужен исходный код программы. Отыскивающий название процесса (описанных в proc.db ) и...
C++ Медиана массива
Всем привет! Помогите кто чем может с задачей а то сдавать через пару дней, незнаю что делать:( Сама задача-- В массиве, содержащем нечетное количество элементов, найти медиану значение, для...
C++ Нужно проверить принадлежит точка выбранной области http://www.cyberforum.ru/cpp-beginners/thread167272.html
Нужно проверить принадлежит точка выбранной области. Мну начал решать, но я понимаю что там ещё должно быть одно условие, но не знаю как написать. Картинка прилагается)) #include <iostream.h>...
C++ Веер из треугольников #include "glut.h" void init(void) { glClearColor(1.0,1.0,1.0,0.0); glShadeModel(GL_FLAT); } void display(void) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); ... подробнее

Показать сообщение отдельно
Mr.X
Эксперт С++
3049 / 1694 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
20.09.2010, 11:51
Во-первых, что это за преподаватель у вас, который называет вершины треугольника углами, во-вторых, в приведенном в вашем условии примере площадь вычислена неверно, ну а в-третьих, если еще нагуглить векторное произведение, то можно гораздо проще вычислить:
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
//////////////////////////////////////////////////////////////////////////////////
//  Напишите программу, которая вычисляет площадь треугольника, 
//  если известны координаты его углов<???????????!!!!!!!!!!!!!!!!>.
//  Введите координаты углов (числа разделяйте пробелом):
//  xl,yl -> -2 5 х2,у2 -> 1 7 хЗ,уЗ -> 5 -3
//  Ответ:23.56 кв.см<????????????????????????????????????!!!!!!!!!!!!!!!!!!!!!!!>. 
//////////////////////////////////////////////////////////////////////////////////
#include <cmath>
#include <iostream>
#include <string>
//////////////////////////////////////////////////////////////////////////////////
typedef double       T_coord;
typedef std::string  T_str;
//////////////////////////////////////////////////////////////////////////////////
struct T_point
{
    T_coord  x;
    T_coord  y;
    T_str    name;
    //----------------------------------------------------------------------------
    T_point(T_str  name_ = "") : name(name_), x(), y()        
    {}
    //----------------------------------------------------------------------------
    void input()
    {
        std::cout << name
                  << ":"
                  << std::endl;
 
        std::cout << "X = ";
        std::cin >> x;
        std::cout << "Y = ";
        std::cin >> y;
        std::cout << std::endl;
    }
    //----------------------------------------------------------------------------
    T_point operator- (const T_point p) const
    {
        T_point  res_p; 
        res_p.x = x - p.x;
        res_p.y = y - p.y;
        return res_p;
    }
};
//////////////////////////////////////////////////////////////////////////////////
T_coord  triangle_area
    (
        const T_point& A, 
        const T_point& B,
        const T_point& C
    )
{
    T_point AB = B - A;    
    T_point AC = C - A;
    return abs(AB.x * AC.y - AC.x * AB.y) / 2;
}
//////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::locale::global(std::locale(""));
    std::cout << "Введите координаты вершин треугольника: "
              << std::endl;
    T_point A("A");
    A.input();
 
    T_point B("B");
    B.input();
 
    T_point C("C");
    C.input();
 
    std::cout << "Площадь треугольника равна "
              << triangle_area(A, B, C)
              << std::endl;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru