М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
диана2470
диана2470
18.09.2022 06:27 •  Информатика

Даны произвольные числа a,b,c. выяснить существует ли треугольник с такими длинами сторон. если треугольник существует, то определить является ли он равносторонним ил каким-либо иным. написать программу в с++ нужно

👇
Ответ:
valera253
valera253
18.09.2022
Ну, нужно сравнить A+B и C стороны. Если A+B<=C(для каждой стороны), то треугольник не существует. Если A=B=C - равносторонний. Если A=B или A=C или B=C - равнобедренный.
псевдокод
bool Triangle(int &a, int &b, int &c)
{    
return ((a + b > c) && (b + c > a) && (c + a > b));
}
...
int Type(int a, int b, int c)
{    
if(a == b == c) {        
return 0;  
}  else  {       
if(a==b || c == b || a == c) {            
return 1;    
}
return 2;
}
}
int main()
{
...    
if(Triangle(a, b, c)) {
 cout<<(Type(a, b, c) == 0) ? "равносторонний" : (Type(a, b, c) == 1) ? "равнобедренный" : "разносторонний";    
} else {       
cout<<"Это не треугольник";
}
...    
return 0;
}
4,4(36 оценок)
Открыть все ответы
Ответ:
MaryWintlstone
MaryWintlstone
18.09.2022
Если х1,у1 - координаты одного конца 1-го отрезка, х2,у2 - координаты его второго конца, то уравнение прямой, на которой этот отрезок лежит, такое: у=у1+(у2-у1)(х-х1)/(х2-х1).
Для второго отрезка (х3,у3) и (х4,у4), прямая у=у3+(у4-у3)(х-х3)/(х4-х3).
Абсцисса точки пересечения (х,у) этих прямых находится из равенства

у1+(у2-у1)(х-х1)/(х2-х1)=у3+(у4-у3)(х-х3)/(х4-х3). Это х надо выразить в виде формулы до написания программы, чтобы х вычислялось в программе по этой формуле.

Схема программы:
1) проверка параллельности отрезков. Если "да", то выход и ответ "не существует".
2) проверка выполнения двух двойных неравенств: x1 <= x <= x2, x2 <= x <= x4.
Если оба неравенства "истина", то ответ "существует", иначе "не существует"

Обратите внимание, что х1 должно быть меньше чем х2, и х3 меньше чем х4.
4,7(75 оценок)
Ответ:
sibbb
sibbb
18.09.2022
Если х1,у1 - координаты одного конца 1-го отрезка, х2,у2 - координаты его второго конца, то уравнение прямой, на которой этот отрезок лежит, такое: у=у1+(у2-у1)(х-х1)/(х2-х1).
Для второго отрезка (х3,у3) и (х4,у4), прямая у=у3+(у4-у3)(х-х3)/(х4-х3).
Абсцисса точки пересечения (х,у) этих прямых находится из равенства

у1+(у2-у1)(х-х1)/(х2-х1)=у3+(у4-у3)(х-х3)/(х4-х3). Это х надо выразить в виде формулы до написания программы, чтобы х вычислялось в программе по этой формуле.

Схема программы:
1) проверка параллельности отрезков. Если "да", то выход и ответ "не существует".
2) проверка выполнения двух двойных неравенств: x1 <= x <= x2, x2 <= x <= x4.
Если оба неравенства "истина", то ответ "существует", иначе "не существует"

Обратите внимание, что х1 должно быть меньше чем х2, и х3 меньше чем х4.
4,6(69 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика

MOGZ ответил

Полный доступ к MOGZ
Живи умнее Безлимитный доступ к MOGZ Оформи подписку
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ