%d", &(A.x),
%d", &(A.x), &(A.y));
/* Собственно обработка и вывод результата. */
fprintf (outputFile, "%d\n",
isInternalPoint (A, polygon, numberOfPoints));
/* Чистим память - в следующий раз может *
* оказаться другое количество точек. */
free (polygon);
}
fclose (inputFile);
fclose (outputFile);
return 0;
}
Решение упражнения G2.2
int inAngle (point A, point B, point C, point D)
{
/* Случай, когда угол BCD < 180?. */
if isClockWise (B, C, D)
/* Достаточно, чтобы оба угла BCA и ACD *
* были < 180? */
/* (при проходе по часовой стрелке). */
return (isClockWise (B, C, A) &&
isClockWise (A, C, D));
else
/* Иначе - достаточно, чтобы один из углов BCA *
* и ACD был < 180? (при проходе по *
* часовой стрелке). */
return (isClockWise (B, C, A) ||
isClockWise (A, C, D));
}
<<< Предыдущий урок Следующий урок >>>
| Новости | Регистрация | Курсы | Карта сайта | Контактная информация
Индекс
Элементарные функции
Линейные уравнения
Нелинейные уравнения
Случайные числа