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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2012, 23:25   #1
qpuTuJlb
Пользователь
 
Аватар для qpuTuJlb
 
Регистрация: 31.03.2012
Сообщений: 67
По умолчанию Целочисленные координаты трех вершин прямоугольника, стороны которого параллельны координатным осям

Даны целочисленные координаты трех вершин прямоугольника, стороны которого параллельны координатным осям. Найти координаты его четвертой вершины.
Вот код но все время получается ответ x4=0 y4=0,почему так?
Код:
var
x1,x2,x3,x4,y1,y2,y3,y4:integer;
begin
x1:=strtoint(Edit8.Text);
x2:=strtoint(Edit9.Text);
x3:=strtoint(Edit10.Text);
y1:=strtoint(Edit11.Text);
y2:=strtoint(Edit12.Text);
y3:=strtoint(Edit13.Text);
if (x1=x2) then x4:=x3;
if (x3=x2) then x4:=x1;
if (x1=x3) then x4:=x2;
if (y1=y2) then y4:=y3;
if (y3=y2) then y4:=y1;
if (y1=y3) then y4:=y2;
Showmessage('Координаты вершины x4='+inttostr(x4)+' y4='+inttostr(y4));
end;
qpuTuJlb вне форума Ответить с цитированием
Старый 10.11.2012, 00:10   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Может стоит else для каждого IF кроме последнего ставить?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.11.2012, 00:26   #3
qpuTuJlb
Пользователь
 
Аватар для qpuTuJlb
 
Регистрация: 31.03.2012
Сообщений: 67
По умолчанию

Также по 0, делфи выбивает Warning что переменные x4 и y4 не объявлены,но как их объявить если их надо найти?
qpuTuJlb вне форума Ответить с цитированием
Старый 10.11.2012, 00:46   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

По-моему у тебя алгоритм вообще не подходит...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.11.2012, 09:35   #5
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,543
По умолчанию

сделай это
Код:
s:=format('A=(%d, %d)'#13'B=(%d,%d)'#13#10'C=(%d,%d)'#13#10'D=(%d,%d)',[x1,y1, x2,y2, x3,y4, x4,y4] );
Showmessage(s);
и проанализируй соответствие ввода и результатов.

Использование неинформативных имен (Edit8,...Edit8, приводит к тому при вводе мы полагаем одно соответствие, а при предбразовании подразумевали совсем другое соответствие.

то что на рисунке получено на вашем алгоритме!

но лучше сделать так и все станет ясно
if (x1=x2) then x4:=x3
else if (x3=x2) then x4:=x1
else if (x1=x3) then x4:=x2
else Showmessage('Вы уверены что ввели правильные данные!';
Изображения
Тип файла: jpg 1.JPG (11.0 Кб, 63 просмотров)
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 10.11.2012 в 09:49.
evg_m вне форума Ответить с цитированием
Старый 10.11.2012, 10:03   #6
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,429
По умолчанию

Не уверен, проверьте:
Код:
x4:=x1 xor x2 xor x3;
y4:=y1 xor y2 xor y3;
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задача про координаты прямоугольника tata7393 Помощь студентам 5 29.10.2012 11:53
по трём координатам вершин прямоугольника найти координаты четвёртой вершины (Delphi) MaDDi Помощь студентам 7 14.02.2012 22:11
Координаты прямоугольника Ins1De Общие вопросы C/C++ 13 18.12.2011 23:17
Стороны прямоугольника Caragius Microsoft Office Excel 8 27.12.2008 03:02
Изобразить на экране правильный многоугольник, стороны которого окрашены в разные цвета, совершающий внут Sashka Помощь студентам 3 31.01.2008 12:02