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

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

Восстановить пароль Регистрация
 
Zheka91
4 / 4 / 1
Регистрация: 22.11.2010
Сообщений: 101
15.11.2011, 19:16     площадь многоугольника #1
найти площадь многоугольника у которого точки могут стоять в разброс.
пример: первая цифра колличество точек...
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++ Найти площадь вогнутого многоугольника
Площадь многоугольника C++
Площадь многоугольника C++
Программа должна находить площадь произвольного многоугольника C++
найти площадь многоугольника C++
C++ Вычислить площадь простого многоугольника
Площадь выпуклого многоугольника методом триангуляции C++

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

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

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