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

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

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

> Задача в паскале.определить входит ли в треугольник с заданными координатами начало координат.
serg
сообщение 23.11.2009 22:11
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 32
Пол: Мужской

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


Собственно в теме написано,помогите,желательно без функций.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Lapp
сообщение 24.11.2009 4:33
Сообщение #2


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Что-то вы, мне кажется, тут перемудрили..
Простые решения уже не в моде? smile.gif
И тут абсолютно не нужны никакие функции.
const
n=3; {треугольник}
r=9; {диапазон чисел}

var
t: array [1..n] of record
x,y: double;
end;
i: integer;
Inside: boolean;
u,v: double;

begin
Randomize;
for i:=1 to n do with t[i] do begin
x:=Random®*2-r;
y:=Random®*2-r;
WriteLn('x',i,'=',x:2:0,' y',i,'=',y:2:0);
end;
Inside:=true;
for i:=1 to n do begin
v:=t[i].x*t[i mod n+1].y-t[i].y*t[i mod n+1].x;
if i>1 then Inside:=Inside and (u*v>1e-15);
u:=v
end;
WriteLn(Inside)
end.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
serg
сообщение 24.11.2009 10:01
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 32
Пол: Мужской

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


Цитата(Lapp @ 24.11.2009 4:33) *

Что-то вы, мне кажется, тут перемудрили..
Простые решения уже не в моде? smile.gif
И тут абсолютно не нужны никакие функции.
const
n=3; {треугольник}
r=9; {диапазон чисел}

var
t: array [1..n] of record
x,y: double;
end;
i: integer;
Inside: boolean;
u,v: double;

begin
Randomize;
for i:=1 to n do with t[i] do begin
x:=Random®*2-r;
y:=Random®*2-r;
WriteLn('x',i,'=',x:2:0,' y',i,'=',y:2:0);
end;
Inside:=true;
for i:=1 to n do begin
v:=t[i].x*t[i mod n+1].y-t[i].y*t[i mod n+1].x;
if i>1 then Inside:=Inside and (u*v>1e-15);
u:=v
end;
WriteLn(Inside)
end.



Arifmethic overflow???
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 24.11.2009 11:55
Сообщение #4


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Цитата(serg @ 24.11.2009 10:01) *
Arifmethic overflow???

где?



Добавлено через 5 мин.
Попробуй замеить тип double на real
а при проверке сравнивай не с 1e-15, а 1e-7


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
serg   Задача в паскале.определить входит ли в треугольник с заданными координатами начало координат.   23.11.2009 22:11
sheka   Сумма площадей 3х треугольников, основы которых ст...   23.11.2009 22:18
Unconnected   Наверное, ты хотел написать > Задача в паскале....   23.11.2009 22:19
sheka   И я не совсем понял, а это как?   23.11.2009 22:23
serg   ну без функций потомучто препод потом спросит как ...   23.11.2009 22:26
sheka   Ну до функций ты ведь знаешь? Вот и пиши. Если пот...   23.11.2009 22:36
serg   ну надеюс твой способ с площадями верный)постораюс...   23.11.2009 22:44
sheka   Сделаю сразу же после того как твой вариант увижу....   23.11.2009 22:46
Unconnected   Вот оно, воплощение извращения)) var koor:array[1...   23.11.2009 22:50
serg   ух...спасибо.попробую,работает?)))   23.11.2009 22:52
sheka   Вот оно, воплощение извращения)) :no1: А я не сог...   23.11.2009 22:56
Unconnected   Ну да, тут за неработающее ругают) Только по логик...   23.11.2009 22:53
sheka   Ну да, тут за неработающее ругают)Исправляй пока ...   23.11.2009 22:58
Unconnected   Блиииин я забыл, сейчас переделаю..   23.11.2009 22:57
Unconnected   Извращение, v.1.02 var koor:array[1..6] of intege...   23.11.2009 23:11
sheka   or (chet(koor[1],koor[2])+chet(koor[3],koor[4])+ch...   23.11.2009 23:29
Unconnected   :lol: всё, сдаюсь, Героны рулят))   23.11.2009 23:30
serg   ну напишите хотябы через функцию но рабочуюю блин...   23.11.2009 23:33
sheka   :lol: всё, сдаюсь, Героны рулят)) Пифагоров заб...   23.11.2009 23:33
serg   Пифагоров забыл! :mad: [size=1][b]Добавлено...   23.11.2009 23:58
Unconnected   FATALITY! var koor:array[1..6] of integer; ...   23.11.2009 23:58
sheka   FATALITY! А что это значит FATALITY! ? ...   24.11.2009 0:18
Lapp   Что-то вы, мне кажется, тут перемудрили.. Простые ...   24.11.2009 4:33
serg   Что-то вы, мне кажется, тут перемудрили.. Простые...   24.11.2009 10:01
Lapp   Arifmethic overflow??? где? Добавлено через 5 ...   24.11.2009 11:55
volvo   Здесь: как минимум. Random вернет значение типа Wo...   24.11.2009 12:19
Lapp   Random вернет значение типа Word,Спасибо, volvo. ...   24.11.2009 12:30
serg   теперь чтото не запускает %) что делать?((   24.11.2009 13:05
volvo   Что значит "не запускает"? Может, отраба...   24.11.2009 13:26
serg   Что значит "не запускает"? Может, отраб...   24.11.2009 19:21
serg   все щикарно,спасибо огромное вам   24.11.2009 19:58


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

 



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