Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/65: Рейтинг темы: голосов - 65, средняя оценка - 4.80
1 / 1 / 0
Регистрация: 17.12.2009
Сообщений: 26
1

Пересекаются ли данные прямоугольники

12.01.2010, 10:55. Показов 12144. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста с этой задачей, завтра экзамен и мне надо получить зачет по информатике.
Использование условного оператора:
Два прямоугольника расположенные в первом квадранте со сторонами параллельными осям координат заданны координатами своих левого и правого нижнего углов.Для первого прямоугольника это точки(x1,y1)и(x2,0) для второго - (x3,y3)и(x4,0).Составить программу определяющую пересекаются ли данные прямоугольники и вычисляющую площадь общей части если она существует.
Буду очень благодарен!!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.01.2010, 10:55
Ответы с готовыми решениями:

Определить пересекаются ли данные прямоугольники
Доброго времени, программисты :) помогите решить вот такую задачу : Даны два прямоугольника....

Выяснить, пересекаются, не пересекаются или касаются линии
Дана прямая y=kx+b и окружность x*x+y*y=r*r выяснить пересекаются, не пересекаются или касаются...

Составить программу, определяющую, пересекаются ли данные прямоугольники, и вычисляющую площадь общей части, если они пересекаются
Два прямоугольника, расположенные в первом квадранте, со сторонами, параллельными осям координат,...

Определить, пересекаются ли параболы y = ax2+bx+c и y = dx2+mx+n. Если пересекаются, то найти точку пересечения
Определить, пересекаются ли параболы y = ax2+bx+c и y = dx2+mx+n. Если пересекаются, то найти...

7
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
12.01.2010, 11:13 2
Какое-то задание не очень. Если координата У правого нижнего угла=0, то и координата У левого угла тоже=0, поскольку стороны параллельны осям, тогда непонятно для чего у1 и у3.
0
2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
12.01.2010, 11:26 3
Да нет нормальное условие даже можно сказать облегченнное, это показывает что прямоугольники лежат на оси х то есть не выше не ниже нее а вот что они именно на ней, а уж высота и длина зависит от первой координаты и х во второй

Добавлено через 6 минут
Цитата Сообщение от Puporev Посмотреть сообщение
для чего у1 и у3.
это координаты угла по диагонали, даже можно проще сказать это координаты концов диагонали
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
12.01.2010, 13:04 4
Цитата Сообщение от swenoman Посмотреть сообщение
заданны координатами своих левого и правого нижнего углов
Значит (x1,y1)-левый нижний угол, а (x2,0)-правый нижний угол, какая диагональ, где о ней написано?
Или это не на русском, а я идиот?
0
2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
12.01.2010, 13:10 5
это не ты идиот а ...( не будем оскорблять автора), но как я понимаю это в его условие неправильно записано так как должно быть скорее всего что даны координаты левого верхнего и правого нижнего или наоборот но не иначе))))))))
0
1 / 1 / 0
Регистрация: 17.12.2009
Сообщений: 26
18.01.2010, 06:41  [ТС] 6
Условие правильное, получается прямоугольники лежат на оси абсцисс, х1,х2,х3,х4,у1,у3 вводится пользователем,помогите составить программу пож)
0
2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
18.01.2010, 06:45 7
Цитата Сообщение от swenoman Посмотреть сообщение
левого и правого нижнего углов
Вы уверены что условие правильное, я думаю что должно быть так
Код
левого верхнего и правого нижнего, или левого нижнего и правого верхнего углов даны координаты
а если вы думаете что ваше условие правильное то попробуйте хотябы на листочке сделать ваше задание и выложите результат
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
18.01.2010, 08:08 8
Вот программа, потестируйте ее на все случаи, только грамотно, без ошибок. Я немного погонял, вроде нормально.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
uses crt;
var x1,x2,y1,x3,x4,y2,s:real;
begin
clrscr;
repeat
writeln('Введите абциссы вертикальных сторон первого прямоугольника x2>x1>=0');
readln(x1,x2);
until(x1>=0)and(x2>x1);
repeat
write('Ордината верхней стороны y1>0 y1=');
readln(y1);
until y1>0;
repeat
writeln('Введите абциссы вертикальных сторон второго прямоугольника x4>xx>=0');
readln(x3,x4);
until(x3>=0)and(x4>x3);
repeat
write('Ордината верхней стороны y2>0 y2=');
readln(y2);
until y2>0;
if (x3>=x2)or(x4<=x1) then write('Прямоугольники не пересекаются!')
else
 begin
  if y1>=y2 then
   begin
    if(x3>=x1)and(x4<=x2)then s:=(x4-x3)*y2 else
    if(x3>=x1)and(x4>=x2)then s:=(x2-x3)*y2 else
    if(x3<=x1)and(x4>=x2)then s:=(x2-x1)*y2 else
    if(x3<=x1)and(x4<=x2)then s:=(x4-x1)*y2
   end
  else
   begin
    if(x3>=x1)and(x4<=x2)then s:=(x4-x3)*y1 else
    if(x3>=x1)and(x4>=x2)then s:=(x2-x3)*y1 else
    if(x3<=x1)and(x4>=x2)then s:=(x2-x1)*y1 else
    if(x3<=x1)and(x4<=x2)then s:=(x4-x1)*y1
   end;
  write('Прямоугольники пересекаются, площадь пересечения=',s:0:2);
 end;
readln
end.
2
18.01.2010, 08:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.01.2010, 08:08
Помогаю со студенческими работами здесь

Определите, имеют ли общие точки данные прямоугольники?
Даны действительные числа x1, y1, x2, y2, и x3, y3, x4, y4 являющиеся координатами противоположных...

Определите, имеют ли общие точки данные прямоугольники?
Нужно переделать под Pascal AVB. Сделано в PascalABC.NET Даны действительные числа x1, y1,...

Определить, пересекаются ли данные прямоугольники
Даны два прямоугольника. Множества А и В - это множества точек, принадлежащих соответствующим...

Проверить данные прямоугольники на равенство
стороны одного прямоугольника равны А и Б. Стороны другого равны x и y. Написать программу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru