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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.12.2008, 18:11   #1
kJlaCuk
Пользователь
 
Регистрация: 17.09.2008
Сообщений: 14
По умолчанию Проверка на трапецию

Заданы координаты вершин четырехугольника x1, y1, x2, y2, x3, y3, x4, y4>=0. Составить программу, которая рисует на экране этот четырехугольник (рисунок должен быть масштабирован так, чтобы занимал большую часть экрана) и определяет, является ли данный четырехугольник трапецией
использовать теорему косинусов и формулу
Помогите добавить проверку на определение трапеции

Код:
Program za4et_2;
uses crt, Graph;
 var
 x:array[0..4] of integer;
 y:array[0..4] of integer;
 i:byte; d1,d2,d3,d4:real;
 d,e,r: integer;
begin
clrscr;
writeln('Vvedite poocheredno koordinati menishe 100');
for i:=1 to 4 do
begin
write('X',i,'='); readln(x[i]);
 if x[i]>100 then
  repeat
  writeln('Vi v spoem yme? Vvedite norm koordinatu');
  write('X',i,'='); readln(x[i]);
  until(x[i]<=100);
write('Y',i,'='); readln(y[i]);
 if y[i]>100 then
  repeat
  writeln('Vi v spoem yme? Vvedite norm koordinatu');
  write('Y',i,'='); readln(y[i]);
  until((y[i]<=100))and(y[i]<>0);
end;

 clrscr;
  d:=Detect;
  InitGraph(d,r,'');
  e:=GraphResult;
  if e <> grOK then
  begin
    Writeln ('Error');
    readln;
    halt;
  end;

d1:=sqrt(sqr(x[2]-x[1])+sqr(y[2]-y[1]));
d2:=sqrt(sqr(x[3]-x[2])+sqr(y[3]-y[2]));
d3:=sqrt(sqr(x[4]-x[3])+sqr(y[4]-y[3]));
d4:=sqrt(sqr(x[1]-x[4])+sqr(y[1]-y[4]));
d1:=d1+d2+d3+d4;

if (d1*2<(GetMaxX div 4))and(d1*2<(GetMaxY div 4)) then
r:=40 else
if (d1*2<(GetMaxX div 3))and(d1*2<(GetMaxY div 3)) then
r:=30 else
if (d1*2<(GetMaxX div 2))and(d1*2<(GetMaxY div 2)) then
r:=20 else r:=10;
line (x[1]*r,y[1]*r,x[2]*r,y[2]*r);
line (x[2]*r,y[2]*r,x[3]*r,y[3]*r);
line (x[3]*r,y[3]*r,x[4]*r,y[4]*r);
line (x[4]*r,y[4]*r,x[1]*r,y[1]*r);


readln;
end.
Изображения
Тип файла: png Формула.PNG (676 байт, 136 просмотров)
kJlaCuk вне форума Ответить с цитированием
Старый 28.12.2008, 23:30   #2
kJlaCuk
Пользователь
 
Регистрация: 17.09.2008
Сообщений: 14
По умолчанию

Или подскачите как лучше исправить эту часть программы, чтобы в графическом экране рисовалась фигура по заданным точка с маштабированием
kJlaCuk вне форума Ответить с цитированием
Старый 29.12.2008, 21:06   #3
kJlaCuk
Пользователь
 
Регистрация: 17.09.2008
Сообщений: 14
По умолчанию

как я понял задачка мне на зачёт попалась геморойная, раз никто ниче не подсказал, ну и ладно последняя просьба как темы удалять? всё равно уже толку от неё нету. Завтра буду сдовать то что получилось
kJlaCuk вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проверка пароля <-=SG=-> Общие вопросы Delphi 4 04.11.2008 19:44
Проверка Манжосов Денис :) Общие вопросы Delphi 4 17.10.2008 16:27
Проверка переменных *_ViruS_* Общие вопросы C/C++ 3 21.09.2007 21:33
Проверка на сжатие vitalik007 Общие вопросы Delphi 3 20.08.2007 10:53