Даны три натуральных числа. Напишите программу, определяющую, существует ли треугольник с такими длинами сторон.Если существует такой треугольник, то определите его тип (равносторонний, равнобедренный, разносторонний) Пример входных данный Пример выходных данных
a b c>> 1 2 1 Не существует a b c>> 2 2 2 Равносторонний
a b c>> 20 20 30 Равнобедренный
a b c>> 3 4 5 Разносторонний
1
что не правильно в моей программе?
program qq;
var a,b,c: integer;
begin
Read (a,b,c);
if (a<>b) and (a<>c) and (c<>b) then
Write ('Треугольник-разносторонний');
if (a=b) or (a=c) or (c=b) then
Write ('Треугольник-равнобедренный');
if (a=b) and (a=c) and (c=b) then
Write ('Треугольник-равносторонний');
if (a Write ('Треугольник-не существует');
end.
1. У Вас равносторонний треугольник - это так же и равнобедренный. То есть на пример 2 2 2 у Вас выведет 'Треугольник--равносторонний'. Вообще, так оно и есть в математике, но может у Вас требуют, чтобы вывод был только один, тогда стоит этот момент обработать, о том как это сделать, в 4 пункте.
2. Последний if синтаксически некорректен, так как там отсутствует проверка логического выражения и пропущена закрывающая скобка.
3. Треугольник не существует, если сумма длин двух сторон не больше длины третьей стороны, то есть if (a + b <= c) or (a + c <= b) or (b + c <= a).
4. Чтобы вывод всегда был один, стоит записать все через if -else в следующем порядке: if проверка на существование else if проверка на равные стороны else if проверка на равнобедренность else разносторонний.