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

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

Войти
Регистрация
Восстановить пароль
 
Zheka91
4 / 4 / 1
Регистрация: 22.11.2010
Сообщений: 101
#1

площадь многоугольника - C++

15.11.2011, 19:16. Просмотров 602. Ответов 0
Метки нет (Все метки)

найти площадь многоугольника у которого точки могут стоять в разброс.
пример: первая цифра колличество точек...
input:
6
4 7
19 -1
4 -8
-1 6
-3 0
12 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
#include <iostream>
#include <algorithm>
using namespace std;
void main( )
{
    freopen("INPUT.TXT",   "r", stdin);
    freopen("OUTPUT.TXT",  "w", stdout);
    int n,i,j;
    cin>>n;
    double *x=new double[n];
    double *y=new double[n];
    for(i=0;i<n;i++)
        cin>>x[i]>>y[i];
    int min = min_element( &x[0], &x[n] ) - &x[0];
    i = min;
    double S = 0;
    do{
        j = ( i + 1 ) % n;
        S += abs(( y[j] + y[i] ) * ( x[j] - x[i] ));
        i = j;
    } while ( i != min );
    cout << S / 2;
}
Добавлено через 4 часа 54 минуты
Цитата Сообщение от Zheka91 Посмотреть сообщение
найти площадь многоугольника у которого точки могут стоять в разброс.
пример: первая цифра колличество точек...
input:
6
4 7
19 -1
4 -8
-1 6
-3 0
12 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
#include <iostream>
#include <algorithm>
using namespace std;
void main( )
{
    freopen("INPUT.TXT",   "r", stdin);
    freopen("OUTPUT.TXT",  "w", stdout);
    int n,i,j;
    cin>>n;
    double *x=new double[n];
    double *y=new double[n];
    for(i=0;i<n;i++)
        cin>>x[i]>>y[i];
    int min = min_element( &x[0], &x[n] ) - &x[0];
    i = min;
    double S = 0;
    do{
        j = ( i + 1 ) % n;
        S += abs(( y[j] + y[i] ) * ( x[j] - x[i] ));
        i = j;
    } while ( i != min );
    cout << S / 2;
}
помогите пожалуйсто, ни как не могу сделать что б работало если точки не по порядку стоят...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2011, 19:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос площадь многоугольника (C++):

Вычислить площадь многоугольника с использованием функции,которая определяет площадь по координатам его вершин - C++
Народ помогите пож нужно очень срочно. совсем запутался с этим задание,буду благодарен за помощь. Вычислить площадь многоугольника с...

Площадь многоугольника - C++
Необходимо вычислить площади двух многоугольников(ну а в дальнейшем проверить, лежит ли один из них в другом, пока мне это не надо) по...

Площадь многоугольника - C++
Найти площадь невыпуклого многоугольника(n-угольник). Входные данные: координаты точек. На output вывести площадь.

Площадь многоугольника - C++
Всем добрый вечер! Есть задача: Заданы координаты n последовательных вершин многоугольника. Определить его площадь. Входные данные...

Площадь выпуклого многоугольника - C++
Доброго времени суток! Собственно, задача звучит как: &quot;Расчет площади выпуклого многоугольника при вводимых координатах вершин&quot;. ...

Найти площадь многоугольника - C++
найти площадь многоугольника по заданным точкам его вершин(точки, даны по обходу многоугольника по часовой стрелке).

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.11.2011, 19:16
Привет! Вот еще темы с ответами:

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

Вычислить площадь многоугольника - C++
Не могу понять почему VS 2015 всегда показывает площадь равную 0, в то время как dev C++ вычисляет её нормально. ...

Вычислить площадь простого многоугольника - C++
В первой строке вводится одно число N (3≤N≤100000). Далее в N строках задается по паре чисел – координаты очередной вершины простого...

Найти площадь вогнутого многоугольника - C++
пожалуйста, народ, помогите (подскажите) как найти площадь вогнутого многоугольника? при условии,что вершин больше 3.


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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