IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Точки на плоскости
m@dule
сообщение 8.01.2007 23:17
Сообщение #1


Гость






Вообщем надо сделать программу на Паскале, я до сих пор не могу даже условия понять, а уж о программе вообще молчу....без неё меня до экзамена не допустят, экзамен 10-го числа....вот полное условие задачи:

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

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



Сообщение отредактировано: klem4 - 8.01.2007 23:19
 К началу страницы 
+ Ответить 
Michael_Rybak
сообщение 9.01.2007 0:28
Сообщение #2


Michael_Rybak
*****

Группа: Модераторы
Сообщений: 1 046
Пол: Мужской
Реальное имя: Michael_Rybak

Репутация: -  32  +


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


// верно ли?
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('Не верно');

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 14:20
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"