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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.01.2012, 17:59   #1
naty7773
Пользователь
 
Регистрация: 11.01.2012
Сообщений: 55
Печаль Паскаль.Загвостка в решении задачи с прямоугольным треугольником.

Даны числа а,в,с.Обозначающие стороны.Выяснить является ли треугольник прямоугольным.И если он прямоугольный,вывести в порядке возрастания стороны и вычислить площадь.Иначе,программа должна выдавать что треуг. не прямоугольный и заканчивать работу.
У меня прога работает,но не так.Прикрепила бы ее вам проверить,но нет инета,сижу с телефона.Помогите решить задачу.((
naty7773 вне форума Ответить с цитированием
Старый 12.01.2012, 18:48   #2
Zer0
Форумчанин
 
Аватар для Zer0
 
Регистрация: 13.12.2007
Сообщений: 788
По умолчанию

Изначально отсортировать стороны по возрастанию, затем проверить - если сумма квадратов первых двух равна квадрату третьей - то треугольник прямоугольный, и можно сразу выводить эти три стороны в этом же порядке, а площадь будет равна произведению первых двух сторон деленному пополам
благодарность - сюда (не забываем писать от кого)
Zer0 вне форума Ответить с цитированием
Старый 12.01.2012, 18:50   #3
Aranea tela telam
Пользователь
 
Аватар для Aranea tela telam
 
Регистрация: 11.01.2012
Сообщений: 51
По умолчанию

program Pr15;
var a, b, c, k: real;
BEGIN
write('a= ');
readln(a);
write('b= ');
readln(b);
write('c= ');
readln(c);
if c*c=(b*b+a*a) then
begin
if b < a then
begin
k:= a;
a:= b;
b:= k
end;
if c < a then
begin
k:= a;
a:= c;
c:= k
end;
if c < b then
begin
k:= b;
b:= c;
c:= k
end;
writeln('стороны ',a, ', ', b, ', ', c);
writeln('Площадь ',(a+b)/2);
end
else
writeln('не прямоугольный');
END.
Я учусь на своих ошибках, но порой их слишком много
Aranea tela telam вне форума Ответить с цитированием
Старый 12.01.2012, 22:15   #4
naty7773
Пользователь
 
Регистрация: 11.01.2012
Сообщений: 55
По умолчанию

Спасибо вам большое!Поняла свою ошибку.Запуталась с бегинами.
naty7773 вне форума Ответить с цитированием
Старый 13.01.2012, 06:40   #5
Zer0
Форумчанин
 
Аватар для Zer0
 
Регистрация: 13.12.2007
Сообщений: 788
По умолчанию

Aranea tela telam, хорошо, я ввожу числа 5,3,4 (это прямоугольный треугольник с гипотенузой = 5)
Ваша программа напишет что треугольник "не прямоугольный"
"Сортировка" выглядит кривой, но сколько примеров не проверял - вроде сортирует правильно
По уму нужно сначала сортировать, а потом уже сравнивать через формулу (как я выше и писал), но как вариант можно просто добавить условия для других возможных вариантов (где гипотенузой является не c, а b или a)
благодарность - сюда (не забываем писать от кого)
Zer0 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массивы в C++. Решении задачи. <onegin> Помощь студентам 1 11.12.2011 00:17
Подсказка в решении задачи С++ Pycbka Помощь студентам 4 16.11.2011 21:49
Проблема в решении задачи [С++] asp1k Помощь студентам 0 17.11.2010 16:16
помогите в решении задачи. gaddam Паскаль, Turbo Pascal, PascalABC.NET 2 24.11.2008 19:06
Помогите в решении задачи! Toxass Общие вопросы Delphi 16 19.11.2008 22:06