IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Трегольник, стороны которого содержат максимальное...
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 40
Пол: Мужской
Реальное имя: Артём

Репутация: -  0  +


Задача:
Среди треугольников с вершинами в заданном множестве точек на плоскости указать такой, стороны которого содержат максимальное число точек заданного множества (координаты тоек хранятся в файле).
-------------------------------------------------------------------------------------
Решение:
см. Triangle.pas
-------------------------------------------------------------------------------------
Проблема:
Не строится треугольник(проблемы в расчётах).
-------------------------------------------------------------------------------------
Просьба:
Помогите разобраться!!!
-------------------------------------------------------------------------------------


Прикрепленные файлы
Прикрепленный файл  Triangle.PAS ( 5.86 килобайт ) Кол-во скачиваний: 380
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Цитата
Какая-то странная задача...
Задача как задача. Если точки внутри треугольника - это решается элементарно, есть уже реализованные алгоритмы принадлежности точки многоугольнику. А ты попробуй вот эту задачу решить...

Только флейм не надо разводить. Отвечаем по теме...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 38
Пол: Женский

Репутация: -  0  +


Цитата(volvo @ 13.01.2006 23:34) *

Только флейм не надо разводить. Отвечаем по теме...

Не злись, volvo, студенты часто неправильно читают условие задачи... smile.gif

Проверка принадлежности точки a отрезку bc

function Includ(a, b, c: tPoint): Boolean;
var
x,y: real;
begin
if EqPoints(c, b) and not not EqPoints(a, b) then
begin
Includ:=false; exit;
end;
if (abs(b.x-c.x)<eps) and not (abs(b.x-a.x)<eps) then
begin
Includ:=false; exit;
end;
if (abs(b.y-c.y)<eps) and not (abs(b.y-a.y)<eps) then
begin
Includ:=false; exit;
end;

if EqPoints(a, b) or EqPoints(a, c) then
begin
Includ:=true; exit;
end;

y:=(b.y-a.y)*(a.y-c.y);
x:=(b.x-a.x)*(a.x-c.x);
if (abs(b.x-c.x)<eps) and (abs(b.x-a.x)<eps) then
begin
Includ:=y>0; exit;
end;
if (abs(b.y-c.y)<eps) and (abs(b.y-a.y)<eps) then
begin
Includ:=x>0; exit;
end;
Includ:= (y>0) and (x>0) and
((b.y-c.y)/(b.x-c.x)-(a.y-c.y)/(a.x-c.x) < eps);
end;


и строки
Код
        table[s].a:= p1;
                       table[s].b:= p2;
                       table[s].c:= p3;

лучше поставить между
Код

               s:= s + 1;
              triangles[s]:= c
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






добавить новый тип
Код
type
   . . .
   tmass= array[1..numT] of integer;

изменить тип переменной
Код
var
  . . .
  Triangles    : tmass;

изменить процедуру
procedure FindMaxTri(var mass: tmass);
var
max: integer;
begin
max:= 1;
for i:= 1 to s do
if mass[i] > mass[max] then
max:= i;
DrawTri(table[max].a, table[max].b, table[max].c);
end;
 К началу страницы 
+ Ответить 

Сообщений в этой теме
art88   Трегольник, стороны которого содержат максимальное...   13.01.2006 1:27
volvo   Ну, так что ты предлагаешь, заняться телепатией? Т…   13.01.2006 1:35
art88   volvo, извини: совсем запарился   13.01.2006 2:04
volvo   Ууууу... Ну, ты что-то перемудрил... Сейчас неохот…   13.01.2006 2:52
art88   Я упростил программу(см. Triangle.pas), но построи…   14.01.2006 0:24
volvo   art88, проблема тривиальна: у тебя происходят ошиб…   14.01.2006 1:44
Pola   Задача: Среди треугольников с вершинами в зада…   14.01.2006 3:25
volvo   Задача как задача. Если точки внутри треугольника …   14.01.2006 3:34
Pola   Только флейм не надо разводить. Отвечаем по теме.…   14.01.2006 15:26
Гость   добавить новый тип type . . . tmass= array…   14.01.2006 16:05
Гость   изменить способ составления треугольников i,j,k b…   14.01.2006 16:17
Pola   гостем была я :) войти забыла.... :)   14.01.2006 16:22
Гость   а кто нить может переделать эту задачку без файлов…   28.12.2006 2:38
ghy   да да да! очень прошу. та же задача, но без фа…   7.01.2010 20:34
Lapp   да да да! Там, там, та-дамм... ТАМ та-да, та-д…   8.01.2010 9:53
Unconnected   Моцарт - "Реквием"? :lol:   8.01.2010 16:08
Lapp   Моцарт - "Реквием"? :lol:Здрасьте вам, п…   8.01.2010 16:32
Unconnected   :blink: Видимо, это был Глюк..   8.01.2010 16:35
Lapp   :blink: Видимо, это был глюк..Чаще слушать советов…   8.01.2010 16:41
Lapp   это был Глюк..Ах, вооот оно как?.. Нееет.. Глюк -…   8.01.2010 19:00


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 9.09.2025 18:38
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name