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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2010, 20:38   #1
avi-vi
 
Регистрация: 11.10.2010
Сообщений: 7
По умолчанию упростить и укоротить программу

Условие задачи -составить программу,определяющую могут ли 4 заданных координата точки быть вершинами параллелограмма
вот такая задачка

http://codepad.org/ve9fAq4J

пробовала еще один вариант, с методом сортировки пузырек, но лабу не приняли. чем можно заменить этот метод?
Код:
var a,b: array [1..4] of real;
rab,x1,y1,x2,y2,x3,y3,x4,y4:real;
i,j:integer;

begin
writeln('vvedite koordinati');
readln(x1,y1,x2,y2,x3,y3,x4,y4);
a[1]:=x1;a[2]:=x2;a[3]:=x3;a[4]:=x4;
b[1]:=y1;b[2]:=y2;b[3]:=y3;b[4]:=y4;
for i:=1 to 3 do
for j:=1 to 3-i do
if a[j]>a[j+1] then
begin
rab:=a[j];
a[j]:=a[j+1];
a[j+1]:=rab;
rab:=b[j];
b[j]:=b[j+1];
b[j+1]:=rab;
end;
x1:=a[1];x2:=a[2];x3:=a[4];x4:=a[3];
y1:=b[1];y2:=b[2];y3:=b[4];y4:=b[3];
if(abs(x4-x1)=abs(x3-x2))and(abs(y2-y1)=abs(y3-y4)) then
writeln('da')
else
writeln('net');
if (x1=x2) and (x2=x3) and (x3=x4) then
writeln ('NE PODHODIT') ;
 if (y1=y2) and (y2=y3) and (y3=y4)  then
 writeln ('NE PODXODIT');
readln ;
end.
ребят, помогите плиз

Последний раз редактировалось Stilet; 10.11.2010 в 08:50.
avi-vi вне форума Ответить с цитированием
Старый 10.11.2010, 08:45   #2
Риндера
Delphi, учу С
Форумчанин
 
Аватар для Риндера
 
Регистрация: 20.10.2010
Сообщений: 178
По умолчанию

Тебе уже писали недавно тут:
Цитата:
Сообщение от vlad_light Посмотреть сообщение
Четырёхугольник называется паралелограмом, если его противоположные стороны попарно равны.
У нас дано четыре точки: A(x1,y1),B(x2,y2),C(x3,y3),D(x4,y4) .
Всё, что нужно - это проверить равенства AB=CD, AD=BC.
Код:
var x, y: array [1..4] of real;
     i: byte;
begin
writeln('Введите координаты точек > ');
for i := 1 to 4 do
   begin 
   write('x[', i, ']= '); readln(x[i]);
   write('y[', i, ']= '); readln(y[i]);
   end;
writeln('----------------------------');
if (sqrt(sqr(x[2] - x[1]) + sqr(y[2] - y[1])) = sqrt(sqr(x[4] - x[3]) + sqr(y[4] - y[3]))) // если AB=CD
   and (sqrt(sqr(x[4] - x[1]) + sqr(y[4] - y[1])) = sqrt(sqr(x[3] - x[2]) + sqr(y[3] - y[2]))) // и если AD=BC
   then writeln('Заданные координаты могут быть вершинами параллелограмма.')
   else writeln('Заданные координаты не могут быть вершинами параллелограмма.');
end.
Думаю проще некуда.

Последний раз редактировалось Риндера; 10.11.2010 в 08:49.
Риндера вне форума Ответить с цитированием
Старый 14.11.2010, 21:03   #3
avi-vi
 
Регистрация: 11.10.2010
Сообщений: 7
По умолчанию

не катит. если вводить точки
3 1
2 0
1 1
0 0
то выводит фэил.
avi-vi вне форума Ответить с цитированием
Старый 15.11.2010, 00:07   #4
Orakul89
Пользователь
 
Регистрация: 12.11.2009
Сообщений: 20
По умолчанию

Так ты вводи точки по порядку, если ты соединишь точки, так как записал, то параллелограмма у тебя не получится.
Введи их так:
3 1
2 0
0 0
1 1
Orakul89 вне форума Ответить с цитированием
Старый 15.11.2010, 01:52   #5
avi-vi
 
Регистрация: 11.10.2010
Сообщений: 7
По умолчанию

так в том то и дело что они должны вводиться в рандомном порядке

avi-vi вне форума Ответить с цитированием
Старый 15.11.2010, 02:14   #6
kaljan775
:D
Форумчанин
 
Аватар для kaljan775
 
Регистрация: 26.09.2010
Сообщений: 570
По умолчанию

структура данных?
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery
kaljan775 вне форума Ответить с цитированием
Старый 15.11.2010, 22:59   #7
avi-vi
 
Регистрация: 11.10.2010
Сообщений: 7
По умолчанию

координаты
avi-vi вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как можно упростить программу? Евгений92 Общие вопросы C/C++ 0 07.11.2010 17:50
Укоротить запись условия. agregator Microsoft Office Excel 2 14.04.2010 17:52
Укоротить формулу ROBERT033 Microsoft Office Excel 3 14.04.2010 00:29
Нужно переделать программу - упростить lukoie Фриланс 14 29.01.2010 01:09
Укоротить код Shouldercannon Общие вопросы Delphi 7 11.07.2008 14:31