Рекомендация 1. Найдите библиотеку для геометрии, если ваша задача не в том чтобы научиться решать задачи вычислительной геометрии. Проверка находится ли точка внутри полигона реализована в каждой первой такой библиотеке.
Рекомендация 2. Разбейте вашу задачу на отдельные части. Считывание данных - функция или метод, вычисления -- еще одна, отрисовка -- третья.
Рекомендация 3. Если все же пишете геометрию сами, заведите классы для Point, Segment, Polyline, Polygon. Вместо передачи отдельных координат используйте их.
Рекомендация 4. Функция определения пересечений содержит много делений, и если какой-то из делителей будет близок к нулю, то все будет плохо. Рекомендую посмотреть реализацию
http://e-maxx.ru/algo/segments_intersection, где есть проверки на маленький делитель.