(polygon [num -
(polygon [num - 1], A, polygon [0]))
return 1;
counter += isCrossed (polygon [num - 1],
polygon [0], A);
/* Результатом является остаток от деления *
* counter на 2. */
return counter % 2;
}
int main ()
{
int numberOfTests, numberOfPoints, i, j;
point *polygon, A;
FILE *inputFile, *outputFile;
inputFile = fopen ("input.txt", "r");
outputFile = fopen ("output.txt", "w");
fscanf (inputFile, "%d", &numberOfTests);
for (i = 0; i < numberOfTests; i++)
{
/* Читаем число точек многоугольника. */
fscanf (inputFile, "%d", &numberOfPoints);
/* Отводим место в памяти для вершин *
* многоугольника. */
polygon = (point*) calloc (numberOfPoints,
sizeof (point));
/* Читаем координаты вершин. */
for (j = 0; j < numberOfPoints; j++)
fscanf (inputFile, "%d %d", &(polygon [j].x),
&(polygon [j].y));
/* Читаем координаты точки. */
fscanf (inputFile, "%d
Индекс
Элементарные функции
Линейные уравнения
Нелинейные уравнения
Случайные числа