Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.02.2009, 19:09   #1
Manchester
Пользователь
 
Регистрация: 14.11.2008
Сообщений: 17
По умолчанию Помогите найти ошибку

Задача. Даны 2 множества точек на плоскости. Выбрать 4 различные точки первого множества так, чтобы квадрат с вершинами в этих точках накрывал все точки второго множества и имел мин.площадь.
Проблема в процедуре raschet(я запутался с циклами, проверяя точки на анличие квадрата(Паскаль всегда пишет: 'Sredi tochek pervogo mnogestva kvadratov ne sushestvuet.'))...
Вложения
Тип файла: txt project.txt (5.1 Кб, 163 просмотров)
Manchester вне форума Ответить с цитированием
Старый 06.02.2009, 20:39   #2
SNUPY
Форумчанин
 
Регистрация: 15.02.2008
Сообщений: 621
По умолчанию

=\ эх товарищ... коменты любить надо ^_^
....
Товарищ где экспрессия, грация?
Код:
     function square(a1, b1, a2, b2, a3, b3, a4, b4:mas):boolean;  {yavlyaetsya li chetyrehugolnik kvadratom}
     var stor1, stor2, diag1, diag2:real;
     begin
     for i:=1 to n do begin
     stor1:=dl(a1[i], b1[i], a2[i], b2[i]);
     stor2:=dl(a1[i], b1[i], a4[i], b4[i]);
     diag1:=dl(a1[i], b1[i], a3[i], b3[i]);
     diag2:=dl(a2[i], b2[i], a4[i], b4[i]);
     if (stor1<>stor2) and (diag1<>diag2) then
     square:=false
     else
     begin
     square:=true;
     end;
     end;
     readln;
     end;
Я таки не в катил что вы хотели изобразить=\... Вообще ИМХО для красоты всех действий должна быть отдельная ф-ия TestSquare, которая будет тестировать 4 точки...
Помог? Ну так нажми на весы!
SNUPY вне форума Ответить с цитированием
Старый 06.02.2009, 20:49   #3
Manchester
Пользователь
 
Регистрация: 14.11.2008
Сообщений: 17
По умолчанию

Я проверяю является ли четырехугольник квадратом (равенство диагоналей и смежных сторон. Ну да, тупанул немного....

function square(a1, b1, a2, b2, a3, b3, a4, b4:mas):boolean; {yavlyaetsya li chetyrehugolnik kvadratom}
var stor1, stor2, diag1, diag2:real;
begin
for i:=1 to n do begin
stor1:=dl(a1[i], b1[i], a2[i], b2[i]);
stor2:=dl(a1[i], b1[i], a4[i], b4[i]);
diag1:=dl(a1[i], b1[i], a3[i], b3[i]);
diag2:=dl(a2[i], b2[i], a4[i], b4[i]);
if (stor1=stor2) and (diag1=diag2) then
square:=true
else
square:=false;

end;
readln;
end;
Manchester вне форума Ответить с цитированием
Старый 09.02.2009, 22:26   #4
Manchester
Пользователь
 
Регистрация: 14.11.2008
Сообщений: 17
По умолчанию

Вот переделал... Но все равно не arbeiten. обидно.
Вложения
Тип файла: txt project.txt (6.0 Кб, 145 просмотров)
Manchester вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите найти ошибку! Picaso18 Паскаль, Turbo Pascal, PascalABC.NET 3 24.01.2009 15:32
Помогите найти ошибку Devoto Общие вопросы Delphi 4 18.11.2008 00:26
помогите найти ошибку MyQwErTy Помощь студентам 1 05.11.2008 21:24
Помогите найти ошибку Дима82 Помощь студентам 4 19.05.2008 15:05
Помогите найти ошибку JOFRIF Помощь студентам 8 22.04.2008 14:22