• Предмет: Информатика
  • Автор: arsenijomelcenko26
  • Вопрос задан 2 года назад

Даны три натуральных числа. Напишите программу, определяющую, существует ли треугольник с такими длинами сторон.Если существует такой треугольник, то определите его тип (равносторонний, равнобедренный, разносторонний)
Пример входных данный Пример выходных данных
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.


arsenijomelcenko26: if (aWrite ('Треугольник-не существует');

Ответы

Ответ дал: nubpolymaster
1

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 разносторонний.

Вас заинтересует