Составить программу, печатающую значение true, если высказывание вашего варианта является истинным, и false — в противном случае. Данные для формирования условия должны вводиться с клавиатуры. При
необходимости, выполнить проверку введенных данных. Номер варианта
соответствует вашему номеру по журналу.
Варианты задания
1.Даны три стороны одного и три стороны другого треугольника. Эти треугольники равновеликие, т.е. имеют равные площади.
Сравнение двух вещественных чисел может оказаться некорректным действием в силу ограниченной точности представления таких чисел и ошибок при арифметических операциях с ними. Поэтому тип для сторон треугольников лучше выбрать long double, а саму процедуру сравнения сделать мягкой, а не максимально жёсткой чтобы исключить саму возможность ложных выводов.
С проверкой вводимых числовых данных на корректность ввода, без дурацких "true" и "false" и, естественно, без идиотского квадратного корня sqrt, который здесь не нужен от слова "совсем": #include
#include
#define ld long double
using namespace std;
double yes(ld a, ld b, ld c)
{
return (a > 0 && b > 0 & c > 0 &&
a + b > c && b + c > a && c + a > b);
}
double f(ld x, ld y, ld z)
{
ld p = (x + y + z) / 2;
return p * (p - x) * (p - y) * (p - z);
}
int main()
{
ld a, b, c, A, B, C;
cin >> a >> b >> c >> A >> B >> C;
if (yes(a, b, c) && yes(A, B, C))
cout
Ваша задача - проверить, равновелики ли два треугольника, данные стороны которых вводятся с клавиатуры. Для этого мы можем использовать формулу Герона для вычисления площади треугольника и затем сравнить площади двух треугольников.
Вот код на C++:
#include
#include
double triangleArea(double a, double b, double c) {
double s = (a + b + c) / 2;
return sqrt(s * (s - a) * (s - b) * (s - c));
}
if (area1 == area2) {
std::cout Ввод сторон второго треугольника
|
|--> Вычисление площади первого треугольника
|
|--> Вычисление площади второго треугольника
|
|--> Сравнение площадей
| |
| |--> Если площади равны, вывод "True"
| |
| |--> Если площади не равны, вывод "False"
|
конец
Обратите внимание, что этот код не проверяет, образуют ли введенные стороны действительно треугольник. Это можно добавить, проверив, что для каждого треугольника сумма длин любых двух сторон больше длины третьей стороны.