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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.09.2011, 21:52   #1
charming
Пользователь
 
Регистрация: 25.09.2011
Сообщений: 14
Вопрос даны три числа. Если они могут быть длинами сторон треугольника, определите его вид и найдите высоты (Паскаль)

Пусть даны три числа. Если они могут быть длинами сторон треугольника, определите его вид (разносторонний, равнобедренный, равносторонний).
Вычислите длины его высот и напечатайте их в порядке убывания.

Только начала изучать паскаль и мало, что понимаю. Помогите, please.
С определением треугольника справилась, а с высотами - нет...

Последний раз редактировалось charming; 25.09.2011 в 22:01.
charming вне форума Ответить с цитированием
Старый 25.09.2011, 22:06   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
С определением треугольника справилась, а с высотами - нет
И как вам помочь? Где ваш код?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 25.09.2011, 22:43   #3
charming
Пользователь
 
Регистрация: 25.09.2011
Сообщений: 14
По умолчанию

Код:
program treug;
var a,b,c:real;
begin
readln(a,b,c);
if (a+b>c) and (a+c>b) and (b+c>a) then begin
if (a=b) and (a=c) then
writeln ('ravnostor')
else if ((a=b) and (a<>c)) or ((a=c) and (a<>b)) or ((b=c) and (b<>a)) then writeln ('ravnobedr')
else writeln ('raznostor');
end
else writeln ('ne sushestvuet');
readln;
end.

Подскажите,что нужно добавить для определения высот и расстановки по убыванию?


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 26.09.2011 в 00:08.
charming вне форума Ответить с цитированием
Старый 25.09.2011, 22:55   #4
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

По формуле герона можно найти площадь, а потом эту площадь делить на половину стороны. Это даст длину высоты перпендикулярной к данной стороне.
Код:
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
h1=2*s/a;
h2=2*s/b;
h3=2*s/c;
Ненавижу быть как все, но люблю, чтобы все были как я.

Последний раз редактировалось MyLastHit; 25.09.2011 в 23:03.
MyLastHit вне форума Ответить с цитированием
Старый 26.09.2011, 19:17   #5
charming
Пользователь
 
Регистрация: 25.09.2011
Сообщений: 14
По умолчанию

Это я поняла, спасибо.
Вот только плохо понимаю, куда эти формулы нужно добавить в код...

Пожалуйста, очень нужна помощь, куда нужно вставить формулы для определения высот.

Последний раз редактировалось Stilet; 26.09.2011 в 20:19.
charming вне форума Ответить с цитированием
Старый 26.09.2011, 20:09   #6
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

Цитата:
Пожалуйста, очень нужна помощь, куда нужно вставить формулы для определения высот.
Код:
program treug;
var a,b,c,p,s,h1,h2,h3:real;
begin
readln(a,b,c);
if (a+b>c) and (a+c>b) and (b+c>a) then begin
if (a=b) and (a=c) then
writeln ('ravnostor')
else if ((a=b) and (a<>c)) or ((a=c) and (a<>b)) or ((b=c) and (b<>a)) then writeln ('ravnobedr')
else writeln ('raznostor');
end
else writeln ('ne sushestvuet');
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
h1=2*s/a;
h2=2*s/b;
h3=2*s/c;
writeln(h1:2:2);
writeln(h2:2:2);
writeln(h3:2:2);
readln;
end.
В порядке убывания сам подумай как вывести и напиши.
Ненавижу быть как все, но люблю, чтобы все были как я.

Последний раз редактировалось MyLastHit; 26.09.2011 в 20:14.
MyLastHit вне форума Ответить с цитированием
Старый 26.09.2011, 20:40   #7
charming
Пользователь
 
Регистрация: 25.09.2011
Сообщений: 14
По умолчанию

Спасибо огромное!
Можно еще вопрос... Почему-то не открывается файл с расширением pas, мне нужно просто его на флешку скинуть. Пишет, что не является приложением Win32. Не понимаю, как его тогда перенести...
charming вне форума Ответить с цитированием
Старый 26.09.2011, 20:44   #8
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Файл с расширение pas можно открыть, например, при помощи программы "блокнот". Просто откройте блокнот и тупо перенесите туда этот файл.

А что касается копирования... просто скопируйте его на флешку, в чём проблема-то?
Вадим Мошев вне форума Ответить с цитированием
Старый 26.09.2011, 20:48   #9
charming
Пользователь
 
Регистрация: 25.09.2011
Сообщений: 14
По умолчанию

Ага, поняла, открывает с помощью блокнота. Спасибо)
С копированием проблем нет, просто боялась, что когда принесу флешку, он не откроется.
charming вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Даны три числа a,b и с. Если все они ненулевые вывести их на экран в порядке возростания 1znar Паскаль, Turbo Pascal, PascalABC.NET 1 07.07.2011 18:41
вычислить периметр треугольника если даны координаты 3-х вершин(алгоритм функции) (Паскаль) анжелка Помощь студентам 2 03.04.2011 13:33
Могут ли значения быть сторонами треугольника? fs444 Общие вопросы C/C++ 7 25.01.2010 15:55
определите, сколько троек может быть использовано для построения треугольника баста Помощь студентам 3 17.02.2009 20:34
Треугольник задан длинами своих сторон: a, b, c. Найти углы треугольника. задача на С++ Wia Помощь студентам 6 13.12.2008 16:13