Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

pole czworokąta w układzie współrzędnych

Ostatnio zmodyfikowano 2022-03-03 15:54
Autor Wiadomość
Mariusz_99
Temat założony przez niniejszego użytkownika
pole czworokąta w układzie współrzędnych
» 2022-03-02 21:13:21
Witam! Piszę program mający wypisać pole wielokąta na podstawie współrzędnych jego boków, z precyzją do 0.5 jednostki. Punkt początkowy jest na 0,0. Niestety wychodzą złe wyniki. Proszę o pomoc. Oto mój kod:

C/C++
#include<iostream>
#define pkt pair<long long, long long >
using namespace std;
long long pole;

long long i_w( pkt A, pkt B )
{
   
int x1 = A.first, y1 = A.second,
   
x2 = B.first, y2 = B.second;
   
return x1 * y2 - x2 * y1;
}

int main()
{
   
long long n;
   
cin >> n;
   
pkt A, B, X;
   
   
   
cin >> A.first >> A.second;
   
X.first = A.first;
   
X.second = A.second;
   
for( long long i = 1; i < n; i++ )
   
{
       
       
cin >> B.first >> B.second;
       
pole += i_w( A, B );
       
B.first = A.first;
       
B.second = A.second;
   
}
   
pole += i_w( B, X );
   
if( pole < 0 )
       
 pole = pole * - 1;
   
   
if( pole % 2 == 0 )
       
 cout << pole / 2;
   
else
       
 cout << pole / 2 << ".5";
   
}
P-179301
pekfos
» 2022-03-03 15:54:42
C/C++
B.first = A.first;
B.second = A.second;
C/C++
A = B;
P-179302
« 1 »
  Strona 1 z 1