Мне было предложено сохранить и нарисовать массив строк. Программа должна распечатать сообщение «Нет пересечения» или «Найденное пересечение» (в зависимости) до завершения, если введены отрицательные координаты или введены два сегмента MAXSEGMENTS.Разработка, если массив сегментов линии пересекается
int main(void) {
lineSeg_t line, allsegments[MAXSEGMENTS];
point_t a, b;
int pointssofar=0, i, v, w, x, y;
OpenGraphics();
while (pointssofar<=(2*MAXSEGMENTS)){
a=GetPoint();
x=XCoord(a);
y=YCoord(a);
if ((x<0)||(y<0))
break;
b=GetPoint();
v=XCoord(b);
w=YCoord(b);
if ((v<0)||(w<0))
break;
line=LineSeg(a, b);
DrawLineSeg(line);
allsegments[((pointssofar+2)/2)]=line;
for (i=0;i<(pointssofar/2);i++){
if (intersect(line, allsegments[i])==TRUE){
printf ("Found an intersection");
pointssofar=2*MAXSEGMENTS;
} else if (pointssofar==(2*MAXSEGMENTS)){
printf("No intersection");
}
}
}
for(i=0;i<(pointssofar/2);i++){
if (intersect(allsegments[pointssofar/2], allsegments[i])==FALSE){
printf("No intersection");
}
}
}
У меня возникли проблемы с выдачей сообщений. Думаю, я застрял в цикле while, и я действительно не уверен, как выйти! Спасибо заранее.
, так что, если введена отрицательная координата, он выходит из цикла while. (break) – user2945892
У меня есть файл заголовка descartes.h, если это то, что вы имеете в виду? – user2945892
Это было написано моим лектором, и я не знаю, как к нему можно получить к сожалению. Я использовал его в прошлом, и он работал. Они возвращают отрицательные числа – user2945892