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

Задача на С++ Треугольник
Вам даны 4 отрезка. Выведите YES, если среди них найдутся 3, из которых можно составить треугольник, и NO в противном случае.

Для решения напишите функцию triangle(int a, int b, int c), которая будет возвращать true, если из трёх заданных отрезков можно составить треугольник, и false иначе.

Требуется дописать необходимый код:

#include
using namespace std;
bool triangle(int a, int b, int c)
{
#Место для кода
}
int main()
{
int a, b, c, d;
cin >> a >> b >> c >> d;
if (triangle(a, b, c) || triangle(a, b, d) || triangle(a, c, d) || triangle(b, c, d))
cout << "YES";
else
cout << "NO";
return 0;
}

👇
Ответ:
mirankov
mirankov
04.02.2023

из 3х отрезков можно составить треугольник если сумма 2х любых его сторон больше третей.

код:

if ((a+b>c)&&(a+c>b)&&(b+c>a))

return 1;

else

return 0;

4,8(24 оценок)
Открыть все ответы
Ответ:
MaryWintlstone
MaryWintlstone
04.02.2023
Если х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
04.02.2023
Если х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: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ