Cześć.
Mam takie oto zadanie:
Napisz program, który:
Wczyta opis figury
Wyznaczy pole tej figury
Wypisze pole figury przemnożone przez 2.
Wejście
W pierwszym wierszu wejścia znajduje się liczba naturalna n ( 3 ≤ n ≤ 100 000) oznaczająca
ilość wierzchołków figury. W kolejnych n wierszach znajdują się opisy wierzchołków.
Wierzchołek z wiersza i jest połączony z wierzchołkami z wiersza (i-1) i (i+1). Wierzchołek
n-ty jest połączony z (n-1)-szym i z pierwszym. Opis każdego wierzchołka składa się z dwóch
liczb całkowitych xi i yi współrzędnych kartezjańskich ( 1 ≤ xi, yi ≤ 106).
Wyjście
Program powinien wypisać jedną liczbę naturalną pole opisanej figury pomnożone przez 2.
Przykład
Dla danych wejściowych:
4
5 2
3 6
1 5
1 1
Poprawnym wynikiem jest:
26
Nie mam do końca pomysłu, w jaki sposób wyliczać pole tej figury. Myślałam o zastosowaniu wzoru do obliczania pola trójkąta ze współrzędnych wierzchołków i zsumowaniu poszczególnych pól, tyle że kłopot pojawia się dla figur wklęsłych.
Gdyby ktoś mógł nakierować, w jaki sposób to pole liczyć, to będę wdzięczna. Z kodem powinnam dać sobie radę już sama.
[C] Program do obliczania pola figur
- Assassin-Girl
- Użytkownik
- Posty: 76
- Rejestracja: 22 lut 2013, o 18:32
- Płeć: Kobieta
- Lokalizacja: Maczu-Pikczu
- Podziękował: 33 razy