Замечание
-
Первое задание зачтено.
-
По непосредственно второму заданию: алгоритм определения пересечения точек, похоже, правильный (возможно не самый численно устойчивый, но в целом рабочий), но направление, в котором вы выбираете луч, не самое лучшее (вы повышаете вероятность попаданию в вершину, что для данного алгоритма не слишком хорошо). Кроме того, нет определения нахождения точки на стороне. И лучше всё же выделить алгоритм в отдельную функцию (и лучше в отдельном файле, возможно со вспомогательными функциями), а в main его только вызывать. В общем, второе задание близко к зачёту, но нужно немного поправить (в первую очередь добавить определение попадания на сторону, если бы оно было -- зачёл бы задание).
-
Функции чтения с обработкой ошибок не доработаны относительно того, что было у меня, поэтому третье задание пока не зачтено.