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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Программа нахождения максимумов в диагоналях матрицы 5х5 http://www.cyberforum.ru/cpp-beginners/thread188170.html
Помогите пожалуйста решить задачу: Написать на СИ программу нахождения максимумов в диагоналях матрицы 5х5
C++ Вычислить сумму элементов массива Вычислить сумму элементов массива а1+...+аn на языке Си. заранее спасибо http://www.cyberforum.ru/cpp-beginners/thread188166.html
C++ Кольцевые Списки.
Люди помогите. Понимаю что программы здесь никто не пишет. Но все же. Не могу разобраться. Вот задание. Реализовать функции очереди типа кольцо. Вывод всех элементов, чтобы было видно где маркер....
C++ "Приближенное вычисление интеграла"
Задание 1.9 Числовые данные под буквой "б" Извините за плохое фото, но вроде читаемо
C++ Найти обратную матрицу и умножить ее на вектор http://www.cyberforum.ru/cpp-beginners/thread188159.html
Очень нужна помощь для нахождения обратной матрицы на С++. Дело в том что мне нужно реализовать такую задачу: найти обратную матрицу и умножить ее на вектор. каким методом лучше находить обратную...
C++ Реализовать транслитерацию строки задача№1 Дан текст в строке.Сделать транслитерацию єтой строки. задача №2 дан текст строки. Если в строке больше одного знака арифметической операции, то уменьшить последовательность до одного.(... подробнее

Показать сообщение отдельно
silent_1991
Эксперт С++
4984 / 3041 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
09.11.2010, 00:55
N-угольник выпуклый?

Добавлено через 34 минуты
Вроде так - для выпуклых многоугольников. Но особо не тестил...

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
#include <iostream>
#include <cmath>
 
double areaABC(double AB, double AC, double BC)
{
    double p = (AB + AC + BC) / 2;
 
    return sqrt(p * (p - AB) * (p - AC) * (p - BC));
}
 
double lenAB(double x1, double y1, double x2, double y2)
{
    return sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
}
 
int main()
{
    double *coords[2];
    double area = 0.0;
    int n;
 
    std::cout << "Enter N: ";
    std::cin >> n;
 
    for (int i = 0; i < 2; i++)
        coords[i] = new double [n];
 
    for (int i = 0; i < n; i++)
    {
        std::cout << "Enter x" << i << ": ";
        std::cin >> coords[0][i];
        std::cout << "Enter y" << i << ": ";
        std::cin >> coords[1][i];
    }
 
    for (int i = 1; i < n - 1; i++)
        area += areaABC(lenAB(coords[0][0], coords[1][0], coords[0][i], coords[1][i]),
                        lenAB(coords[0][0], coords[1][0], coords[0][i + 1], coords[1][i + 1]),
                        lenAB(coords[0][i], coords[1][i], coords[0][i + 1], coords[1][i + 1]));
 
    std::cout << std::endl << "Area = " << area << std::endl;
 
    for (int i = 0; i < 2; i++)
        delete [] coords[i];
 
    std::cin.get();
    return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru