Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.12.2011, 20:36   #1
Ins1De
Пользователь
 
Регистрация: 26.05.2010
Сообщений: 34
По умолчанию Координаты прямоугольника

(х1, у2) и (х2, у2) - координаты левой верхней и правой нижней вершины прямоугольника. Принадлежит ли точка А(х,у) прямоугольнику?

Цитата:
int x,y,x1,x2,y1,y2;
x=CSpinEdit1->Value;
y=CSpinEdit2->Value;
x1=CSpinEdit3->Value;
x2=CSpinEdit4->Value;
y1=CSpinEdit5->Value;
y2=CSpinEdit6->Value;
if ((x>=x1)||(x<=x2)||(y>=y1)||(y<=y2) )
Label1->Caption = "принадлежит" ;
else
Label1->Caption = "не принадлежит" ;
Правильно ли решение?
Особенно этой строчки : (x>=x1)||(x<=x2)||(y>=y1)||(y<=y2)
Ins1De вне форума Ответить с цитированием
Старый 18.12.2011, 20:40   #2
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от Ins1De Посмотреть сообщение
(х1, у2) и (х2, у2) - координаты левой верхней и правой нижней вершины прямоугольника. Принадлежит ли точка А(х,у) прямоугольнику?



Правильно ли решение?
Особенно этой строчки : (x>=x1)||(x<=x2)||(y>=y1)||(y<=y2)

Нет. Не правильное.
_Bers вне форума Ответить с цитированием
Старый 18.12.2011, 20:47   #3
Ins1De
Пользователь
 
Регистрация: 26.05.2010
Сообщений: 34
По умолчанию

а как будет правильно написать ?
Ins1De вне форума Ответить с цитированием
Старый 18.12.2011, 20:52   #4
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от Ins1De Посмотреть сообщение
(x>=x1)||(x<=x2)||(y>=y1)||(y<=y2)
Переведите эту строку на русский язык.

Пример: (a==0||b==0) переводится так: выражение является истиной, если а равно нулю, или b равно нулю.

Другой пример: (a==0&&b==0) переводится так: выражение является истиной, если и a равно нулю, и b равно нулю.

Переведите своё выражение на нормальный русский язык
_Bers вне форума Ответить с цитированием
Старый 18.12.2011, 21:03   #5
Ins1De
Пользователь
 
Регистрация: 26.05.2010
Сообщений: 34
По умолчанию

Перевести эту строку на русский язык это не сложно) дело в том что с математикой у меня плохо...я плохо разбираюсь в этих осях..

Цитата:
(x>=x1)||(x<=x2)||(y>=y1)||(y<=y2)
х больше либо равно х1 или х меньше либо равно х2 или у больше либо равно у1 или у меньше либо равно у2
Смотрел на многих форумах решение задачи...и у всех эта строчка написана по разному.

Последний раз редактировалось Ins1De; 18.12.2011 в 21:06.
Ins1De вне форума Ответить с цитированием
Старый 18.12.2011, 21:08   #6
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от Ins1De Посмотреть сообщение
Перевести эту строку на русский язык это не сложно) дело в том что с математикой у меня плохо...я плохо разбираюсь в этих осях..
Ну то есть:

(x>=x1)||(x<=x2)||(y>=y1)||(y<=y2)
х больше либо равно х1 или х меньше либо равно х2 или у больше либо равно у1 или у меньше либо равно у2


Выражение будит истинным, если хотя бы одно из условий будит истинным. Или первое, или второе, или ....

То есть, если x будит больше или равно x1
Но при этом x будит равен чему то там в бесконечности, это пофиг.

Все равно выражение уже будит истинным. А значит, x типа принадлежит прямоугольнику.

Ты уверен, что это именно то, что тебе было нужно?
_Bers вне форума Ответить с цитированием
Старый 18.12.2011, 21:10   #7
Ins1De
Пользователь
 
Регистрация: 26.05.2010
Сообщений: 34
По умолчанию

если был уверен что это было правильно, то я бы тут не написал бы на форуме...вот я и прошу помощи как написать правильно эту строчку.

Цитата:
((x>=x1) || (x<=x2)) && ((x<=x1) || (x>=x2))

((y>=y1) || (y<=y2)) && ((y<=y1) || (y>=y2))
мб так?

Последний раз редактировалось Ins1De; 18.12.2011 в 21:19.
Ins1De вне форума Ответить с цитированием
Старый 18.12.2011, 21:28   #8
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от Ins1De Посмотреть сообщение
если был уверен что это было правильно, то я бы тут не написал бы на форуме...вот я и прошу помощи как написать правильно эту строчку.



мб так?
Что значит может быть? Вы что, мартышка, которая методом научного тыка пытается догадаться?


Рассуждайте от противного.
По-русски, сообщите условия, при которых точка принадлежит прямоугольнику.

Например:

Координаты прямоугольника: xp,yp;
Длина и ширина прямоугольника: sxp, syp

Координаты точки: x,y

Если координата x точки не меньше xp координаты прямоугольника, и не больше, чем координата xp прямоугольника+ sxp длина прямоугольника, то x точки в пределах прямоугольника.

Если ещё при этом, y точки не меньше координаты yp прямоугольника , и не больше, чем координата yp прямоугольника + syp ширина прямоугольника, то и x и y точки в пределах прямоугольника.
_Bers вне форума Ответить с цитированием
Старый 18.12.2011, 21:48   #9
Ins1De
Пользователь
 
Регистрация: 26.05.2010
Сообщений: 34
По умолчанию

Мда
Лучше сам подумаю
Вам нужно на преподавателя идти работать, это ваш конек)

P.S. Так можно до утра подсказочками решать задачку,где надо исправить одну строчку

Последний раз редактировалось Ins1De; 18.12.2011 в 21:54.
Ins1De вне форума Ответить с цитированием
Старый 18.12.2011, 21:59   #10
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от Ins1De Посмотреть сообщение
Мда
Лучше сам подумаю
Вам нужно на преподавателя идти работать, это ваш конек)

P.S. Так можно до утра подсказочками решать задачку,где надо исправить одну строчку
http://programmersforum.ru/showthread.php?t=34061
_Bers вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вращение прямоугольника!!!! SuGarIm Помощь студентам 2 02.05.2011 20:27
Рисование прямоугольника в С# vedro-compota C# (си шарп) 4 19.12.2010 10:19
Площадь прямоугольника AndrSil Помощь студентам 5 22.04.2010 23:23
Вращение прямоугольника Ponaroshku Паскаль, Turbo Pascal, PascalABC.NET 11 03.11.2009 09:22
Вращение прямоугольника Ponaroshku Общие вопросы Delphi 0 25.05.2009 23:09