Форум программистов, компьютерный форум, киберфорум
Наши страницы

Pascal (Паскаль)

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.63
~Студентка~
0 / 0 / 0
Регистрация: 23.11.2009
Сообщений: 31
#1

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

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

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

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

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

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

принадлежность точки - Pascal
по введенным данным определить принадлежит ли данная точка «заштрихованной» области. http://s53.***********/i141/0910/f3/9d39c0c16490.jpg ...

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

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

4
Просто_Юлия
133 / 45 / 2
Регистрация: 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
Модератор
54012 / 41645 / 14727
Регистрация: 18.05.2008
Сообщений: 97,897
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
Привет! Вот еще темы с ответами:

принадлежность точки с координатами - Pascal
даны два числа x , y. Определить и вывести на экран принадлежность точки с координатами (x , y) одной из четырех координатных четвертей или...

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

принадлежность точки плоскости - Pascal
Помогите пожалуйста с задачкой. Тут есть похожая тема Точка с координатами (х, у) принадлежит части плоскости, лежащей между прямыми...

Принадлежность точки контуру - Pascal
Как описать следущую строку: если (x-1,y+1) принадлежат контуру то ... Контур - ето многоугольник...


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

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

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