Помощь - Поиск - Пользователи - Календарь
Полная версия: Точки на плоскости
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
m@dule
Вообщем надо сделать программу на Паскале, я до сих пор не могу даже условия понять, а уж о программе вообще молчу....без неё меня до экзамена не допустят, экзамен 10-го числа....вот полное условие задачи:

Составить программу, отображающую на экране дисплея в графическом режиме исходные данные и требуемые результаты. Исходные данные генерировать случайным образом.
Заданно множество М точек на плоскости. Определить верно ли, что для каждой точки А,принадлежащей М существует точка В, принадлежащая М такая,что не существует двух точек М, лежащих по разные стороны от прямой АВ.

 ! 
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... Перенаименовал, в следующий раз удалю тему.

Michael_Rybak
В условие можно и не вникать, а проверить то, что просят:


// верно ли?
answer := true;
for a := 1 to n do begin // что для каждой точки А,принадлежащей М
// существует точка В?
found_b := false;
for b := 1 to n do if b <> a then begin
// такая,что не существует двух точек М, лежащих по разные стороны от прямой АВ.
have_left := false; //есть ли точки по одну сторону?
have_right := false; //есть ли точки по другую?
for c := 1 to n do if c <> a then if c <> b then
if векторное произведение векторов a->b и a->c больше нуля then
have_left := true
else if векторное произведение векторов a->b и a->c меньше нуля then
have_right := true;
if not(have_left and have_right) then
found_b := true;
end;
if not found_b then
answer := false;
end;
if answer then
Writeln('Верно')
else
Writeln('Не верно');

Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.