Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
~Студентка~
0 / 0 / 0
Регистрация: 23.11.2009
Сообщений: 31
#1

Принадлежность точки прямоугольнику.

23.11.2009, 23:27. Просмотров 2651. Ответов 4
Метки нет (Все метки)

Помогите пожалуйста решить задачу!!!даны координаты вершин двух прямоугольников, стороны которых параллельны осям координат. Даны координаты десяти точек. В какой из прямоугольников попадает больше точек.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.11.2009, 23:27
Ответы с готовыми решениями:

проверить принадлежность точки А к прямоугольнику.
Здравствуйте! Скажите пожалуйста! Даны числа x, y x1, y1, x2, y2, x3, y3,...

Проверить истинность, принадлежность точки к прямоугольнику
Даны числа x,y,x1,y1,x2,y2. Проверить истинность высказывания: "точка (x,y)...

Даны координаты точки (x,y). Определить принадлежность заданной точки заштрихованной области, включая ее границы
Ребята, помогите, пожалуйста, решить эти задачи. Желательно, ещё и...

принадлежность точки
по введенным данным определить принадлежит ли данная точка «заштрихованной»...

Принадлежность точки фигуре
Помоготе пожалуйста решить задачу. Даны действительные числа х,у....

4
Просто_Юлия
133 / 45 / 11
Регистрация: 27.05.2008
Сообщений: 241
24.11.2009, 02:37 #2
И в чем проблема?
Проходишь по всем точкам и для каждой смотришь, попадает ли в прямоугольники.
Для каждого прямоугольника заведена переменная, в которой хранится количество точек, попавших в него.
В конце сравниваешь...
0
~Студентка~
0 / 0 / 0
Регистрация: 23.11.2009
Сообщений: 31
24.11.2009, 08:26  [ТС] #3
А проблема в том,что первокукрсники у которых и в помине в школе не было программирования,не могут решить эту залачу...вот по этому и обращаются сюда за помощью!
0
Puporev
Модератор
54394 / 41973 / 28990
Регистрация: 18.05.2008
Сообщений: 98,881
24.11.2009, 10:07 #4
Не пугайтесь программы, что непонятно, спрашивайте. Программы по геометрии всегда на вид больше чем вроде бы должны быть. По существу все просто, но писанины много.
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
uses crt;
const p=2;{количество прямоугольников}
      t=10;{количество точек}
type Point=record{тип точка с полями}
           x,y:integer;{координаты}
           end;
     Rect=record{тип прямоугольник}
          v,n:Point;{2 вершины(верхняя левая и нижняя правая) - точки}
          end;
mas_p=array[1..p] of Rect;{массив прямоугольников}
mas_t=array[1..t] of Point;{массив точек}
procedure Pryam(var mp:mas_p);{ввод координат прямоугольников}
var i:byte;
begin
for i:=1 to p do
 begin
  writeln('Прямоугольник ',i);
  writeln(' Введите координаты левого верхнего угла:');
  readln(mp[i].v.x,mp[i].v.y);
  repeat
  writeln(' Введите координаты правого нижнего угла:');
  readln(mp[i].n.x,mp[i].n.y);
  if(mp[i].n.x<=mp[i].v.x)or(mp[i].n.y>=mp[i].v.y) then{если правая сторона слева, нехорошо}
  writeln('Ошибка ввода! Повторите.');
  until(mp[i].n.x>mp[i].v.x)and(mp[i].n.y<mp[i].v.y);
 end;
end;
procedure Tochk(var mt:mas_t);{ввод координат точек}
var i:byte;
begin
writeln('Введите координаты точек:');
for i:=1 to t do
 begin
  writeln(' Точка ',i);
  readln(mt[i].x,mt[i].y);
 end;
end;
function Prin(pr:Rect;th:Point):boolean;{определение внутри или нет}
begin
if(th.x>=pr.v.x)and(th.x<=pr.n.x)and(th.y<=pr.v.y)and(th.y>=pr.n.y){внутри}
then Prin:=true else Prin:=false;{нет}
end;
procedure Sravn(mp:mas_p;mt:mas_t);{сравнение количества точек в прямоугольниках}
var i,j,k1,k2:byte;
begin
k1:=0;k2:=0;
for j:=1 to 2 do
for i:=1 to t do
 begin
  if Prin(mp[1],mt[i]) then k1:=k1+1;{если в первом}
  if Prin(mp[2],mt[i]) then k2:=k2+1;{если во втором}
 end;
if(k1=0)and(k2=0)then write('Ни одна точка не принадлежит прямоугольникам.')
else if k1>k2 then write('Больше точек в прямоугольнике 1')
else if k1<k2 then write('Больше точек в прямоугольнике 2')
else write('Количество точек в прямоугольниках равно.');
end;
procedure Vyvod(var mp:mas_p;mt:mas_t);{вывод исходных данных на экран}
var i:byte;
begin
clrscr;
writeln('Координаты вершин прямоугольников:');
for i:=1 to p do
 begin
  write('  № ',i,' ','лев.верх.(',mp[i].v.x,',',mp[i].v.y,')');
  write('  пр.нижн.(',mp[i].n.x,',',mp[i].n.y,')');
  writeln;
 end;
writeln;
writeln('Координаты точек:');
writeln;
write('X: ');
for i:=1 to t do
write(mt[i].x:4);
writeln;
write('Y: ');
for i:=1 to t do
write(mt[i].y:4);
writeln;
writeln;
end;
var mast:mas_t;{массив точек}
    masp:mas_p;{масив прямоугольников}
begin
clrscr;{очищаем экран и последовательно вызываем все процедуры}
Pryam(masp);
Tochk(mast);
Vyvod(masp,mast);
Sravn(masp,mast);
readln
end.
1
~Студентка~
0 / 0 / 0
Регистрация: 23.11.2009
Сообщений: 31
24.11.2009, 10:09  [ТС] #5
Большое спасибо,за помощь!
0
24.11.2009, 10:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.11.2009, 10:09

принадлежность точки плоскости
Помогите пожалуйста с задачкой. Тут есть похожая тема Точка с координатами...

Принадлежность точки графику.
Надо составить программу, определяющую, пройдёт ли график функции y=5x^2-7x+2...

Определить принадлежность точки
Здравствуйте, подскажите как сделать это задание. Из всего курса информатики,...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru