Определить существование треугольника - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Три числа являются длинами трех отрезков. Могут ли эти отрезки быть сторонами треугольника и, если да, то какой это будет треугольник (остро- прямо- или тупоугольный, равнобедренный, равносторонний и т.д.). Решил! Но чую невероятно криво) очень хотелось бы узнать что можно упростить) з.ы. Варианты искал,
#include <stdio.h>
#include <stdlib.h>
 
int main(int argc, char *argv[])
{
    int a, b, c, t1, t2;
  
    system ("chcp 1251 > nul");
      
    printf("Введите длины трёх отрезков:\n", a, c, b);
    scanf("%d\n%d\n%d", &a,&b,&c);
 
{
     if (a+b>c && a+c>b && c+b>a)
        printf("Построение треугольника из этих отрезков возможно!\n");
    else printf("Построение треугольника из этих отрезков невозможно!\n"  );
}
{
     if (a>b && a>c)
        printf("\n",a, a*a, t1=a*a, t2=b*b+c*c );
else if (a<b && b>c)
         printf("\n",  b*b, t1=b*b, t2=a*a+c*c);
else    printf("\n", c*c, t1=c*c, t2=a*a+b*b);
}
{
     if (a+b<c || a+c<b || c+b<a)
        printf("\n");
else if (t1>t2)
        printf("Тупоугольный треугольник.\n"); 
else if(t1<t2)
        printf("Остроугольный треугольник.\n");
else    printf("Прямоугольный треугольник.\n");
}

  system("pause");  
  return 0;
}

Решение задачи: «Определить существование треугольника»

textual
Листинг программы
#include <stdio.h>
 
void IsTriangle(double a, double b, double c);
 
main()
{
      
      
}
 
void IsTriangle(double a, double b, double c)
{
double x,y,z;
if(a > b)x=a,y=b,z=c;
else x=b,y=a,z=c;
 
if(c > x)x=c,y=a,z=b;
 
 
if(1 > fabs((x*x-(y*y+z*z))/(-2*y*z)) > 0)    
printf("Triangle is");
else
printf("What a shit you gave me?!");    
}

Объяснение кода листинга программы

В этом коде определена функция с именем IsTriangle, которая принимает три аргумента типа double — a, b и c. Эта функция проверяет, является ли треугольник со сторонами a, b и c прямоугольным (имеет форму прямоугольного треугольника). В функции main() нет никакого кода, поэтому она пуста. В функции IsTriangle() сначала определяются три переменные типа double — x, y и z. Затем происходит перестановка значений переменных a, b и c в переменные x, y и z соответственно. Это делается для того, чтобы самый большой угол треугольника был в первой переменной (x). Далее происходит проверка: если c больше x, то происходит перестановка значений переменных x, y и z. Это нужно для того, чтобы самый большой угол треугольника был во второй переменной (y). Затем происходит вычисление значения выражения (xx-(yy+zz))/(-2y*z) и проверка его на положительность. Если это значение больше 1, то треугольник является прямоугольным, и в консоль выводится сообщение Triangle is. В противном случае выводится сообщение What a shit you gave me?!.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.846 из 5
Похожие ответы