Diskuse:C++ Bc. 12

Z GeoWikiCZ
Skočit na navigaci Skočit na vyhledávání
Sat, 11 Mar 2006 17:44:01 +0100(CET)

Dobry den,

prohlizela jsem si priklad 12 vcetne Vaseho vypracovani a chtela jsem
se zeptat, zda by pri testovani uzavreni polygonu "bool uzavreny =
p[0].x == p[N-1].x || p[0].y == p[N-1].y" nemelo misto "||" byt "&&".
V uvedenem reseni by pro potvrzeni pravdy, ze polygon je uzavreny
stacilo splneni podminky ze se rovnaji bud pouze x-ove nebo pouze
y-ove souradnice prvniho a posledniho bodu, coz neni pravda, musi se
rovnat jak x-ove tak y-ove. Take si myslim, ze je chyba v testovani
minimalniho poctu bodu a to v obou pripadech, podle me by misto znaku
"<" mely by znaky "<=", protoze v pripade uzavreneho polygonu jsou i 3
body malo, jednalo by se pouze o 1D objekt, stejne tak u neuzavreneho
nestaci ani 2 body.

S pozdravem
Trojanowiczova Ivona G3-61
  • Samozřejmě, že máte v obou případech pravdu. Děkuji! Aleš Čepek


Bohumila Skřivanová, chyba v neuzavřeném polygonu (listopad 2007)

bylo: s += (p[N-1].x - p[0].x)*(p[N-1].y + p[0].y);
má být: s += (p[0].x - p[N-1].x)*(p[0].y + p[N-1].y);