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

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

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

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

15.11.2011, 19:16. Просмотров 592. Ответов 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;
}
помогите пожалуйсто, ни как не могу сделать что б работало если точки не по порядку стоят...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2011, 19:16     площадь многоугольника
Посмотрите здесь:

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

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

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

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

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

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

Площадь выпуклого многоугольника методом триангуляции - C++
ребят помогите разработать программу для расчёта площади выпуклого многоугольника методом триангуляции (разбиения на треугольники) по...

Программа должна находить площадь произвольного многоугольника - C++
Здравствуйте. Моя программа должна находит площадь произвольного многоугольника, с предварительной проверкой, можно ли построить его...

Вычислить площадь многоугольника вершины которого заданы координатами. Исправить ошибки в программе - C++
#include &quot;stdafx.h&quot; #include &quot;stdio.h&quot; #include &lt;iostream&gt; using namespace std; int main() { int a ;{ for (int...

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


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

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

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