Помогите с решением |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
Помогите с решением |
Clane |
28.10.2002 18:01
Сообщение
#1
|
Гость |
1. Найдите координаты всех седловых точек в матрице 10х10.
Седловой точкой называется элемент матрицы, максимальный в своем столбце и минимальный в своей строке. 2. Задан выпуклый n-угольник (координатами своих вершин) и точка А(x;y). Определить принадлежит ли эта точка многоугольнику. |
AlaRic |
28.10.2002 19:49
Сообщение
#2
|
... Группа: Пользователи Сообщений: 1 347 Пол: Мужской Репутация: 3 |
К какому числу?
|
Clane |
29.10.2002 6:11
Сообщение
#3
|
Гость |
Просьбу решить задачи мне присалали на e-mail. Я решил выенсти эту проблему на форум.
|
Romario |
29.10.2002 17:15
Сообщение
#4
|
Пионер Группа: Пользователи Сообщений: 89 Пол: Мужской Репутация: 0 |
Гы, это пока для меня далеко ??? :-[ :-/
|
pascal65536 |
30.10.2002 12:56
Сообщение
#5
|
Пионер Группа: Пользователи Сообщений: 62 Пол: Мужской Репутация: 1 |
Я делал подобную задачу (принадлежность точки треугольнику) посмотри на pascal.hop.ru
|
mj |
30.10.2002 19:20
Сообщение
#6
|
Adminь Группа: Администраторы Сообщений: 803 Пол: Мужской Реальное имя: Евгений Репутация: 5 |
Дан набор точек, надо по ним построить выпуклый многоугольник и разделить так чтобы две получившиеся части были как можно одинаковее.
Криво написано, но это олимпиадная задачка... |
big |
1.11.2002 18:36
Сообщение
#7
|
Новичок Группа: Пользователи Сообщений: 12 Репутация: 0 |
А куда можно отправить программу к первой задаче?
-------------------- BIG_plus
|
Clane |
1.11.2002 19:25
Сообщение
#8
|
Гость |
Или на clane@newmail.ru, или просто в форуме оставь..
|
Ivs |
4.11.2002 21:51
Сообщение
#9
|
Бывалый Группа: Пользователи Сообщений: 209 Репутация: 0 |
во второй задаче нужно обходить n - угольник и проверять на то что бы точка постоянно лежала справа от внешней стороны. Есть такая же задача только с треугольником.
-------------------- Если вы хотите чаще встречаться с понравившейся девушкой установите ей Windows'95
|
mj |
5.11.2002 0:58
Сообщение
#10
|
Adminь Группа: Администраторы Сообщений: 803 Пол: Мужской Реальное имя: Евгений Репутация: 5 |
Цитата во второй задаче нужно обходить n - угольник и проверять на то что бы точка постоянно лежала справа от внешней стороны. Есть такая же задача только с треугольником. Ну это первое что приходит в голову. Условие задачи допускает наличие точек внутри многоугольника и через все внутренние точки должна проходить граница участка, а в этом и загвоздка. Кстати эта олимпиадная задачка 4 или 5 республиканской олимпиады среди школьников Башкирии. |
mj |
5.11.2002 1:03
Сообщение
#11
|
Adminь Группа: Администраторы Сообщений: 803 Пол: Мужской Реальное имя: Евгений Репутация: 5 |
Открою вам секретик.
Я занял все первые места по всем наминациям на городской, а потом и республиканской олимпиаде в 2000 году среди студентов техникумов и колледжей Башкирии. |
Ivs |
5.11.2002 19:43
Сообщение
#12
|
Бывалый Группа: Пользователи Сообщений: 209 Репутация: 0 |
Clane скинь мне тесты на первую задачу.
Я её решил, вот занимаюсь отладкой. -------------------- Если вы хотите чаще встречаться с понравившейся девушкой установите ей Windows'95
|
Ivs |
6.11.2002 22:25
Сообщение
#13
|
Бывалый Группа: Пользователи Сообщений: 209 Репутация: 0 |
Матрица блин слишком большая чтоб вводить 100 элементов вручную, поэтому у меня здесь 2 возможных варианта (вручную и randomize, но при randomize никогда эту седловую точку не получить(когда 10x10))
Вот исходник (должен работать): program sedltoch; const n=10; var a:array[1..n,1..n] of integer; i,j,k,z,t,min,max:integer; begin randomize; for i:=1 to n do begin for j:=1 to n do begin write('-> '); readln(a[i,j]); {a[i,j]:=random(9)+1; write(a[i,j]:4);} end; {writeln; } end; for i:=1 to n do begin min:=maxint; for j:=1 to n do begin if a[i,j]<min then begin min:=a[i,j]; k:=j; end; end; max:=-32768; for z:=1 to n do begin if a[z,k]>max then begin max:=a[z,k]; t:=z; end; end; if (min=max) then writeln('Седловая точка -> a[',t,',',k,']=',a[t,k]); end; readln; end. -------------------- Если вы хотите чаще встречаться с понравившейся девушкой установите ей Windows'95
|
Dimka |
22.11.2002 6:48
Сообщение
#14
|
Гость |
Ну, первая задачка тривиальна - про нее я даже говорить ничего не буду.
Вторая задачка встречается в лабораторных работах по Компьютерной графике 3 курса соответствующей специальности. Если вершины многоугольника заданы в порядке обхода по периметру, то нужно строить векторы, описывающие стороны. Каждый такой вектор умножать на вектор точки. Смотреть на знак числа. Суть в том, что если обходить многоугольник по периметру, всегда знаешь, где внешная область, а где внутренняя (справа или слева), поэтому можно получить однозначное решение. Мы, правда, решали эту задачку для невыпуклых многоугольников - их надо было разбивать на выпуклые - вот в этом то и проблема была. |
Текстовая версия | 27.04.2024 8:58 |