terça-feira, 23 de setembro de 2014

ALGORITMO que verifica a existência ou não de um triângulo, se o triângulo existir, será classificado como sendo equilátero,isósceles ou escaleno, o ângulo interno também será análisado classificando ele como retângulo,obtusângulo ou acutângulo, após isso ainda será calculado o perímetro,a área e o raio do triângulo:em c

//AUTOR(A):Kamila Stromm
//DATA:22/09/2014

//  O algoritmo apresentado abaixo tem como objetivo verificar a existência ou não de um triângulo,
//se o triângulo existir, será classificado ele como sendo equilátero,isósceles
// ou escaleno, o ângulo interno também será análisado classificando ele como retângulo,obtusângulo ou
//acutângulo, após isso ainda será calculado o perímetro,a área e o raio do triângulo.

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define PI 3.141592654

main()
{
    float a,b,c;
float area,raio,perimetro,x,angulo1;
float y,angulo2,z,angulo3;

printf("Entre com os tres lados do possivel triangulo:");
scanf("%f %f %f",&a,&b,&c);

    if ((abs(b-c)<a) && (a<(b+c)))                //Verifica se o triângulo existe
    {
      printf(" O triangulo existe \n ");        
     
  x=(pow(b,2)+pow(c,2)-pow(a,2))/(2*b*c);    //se o triângulo existir será calculado os três ângulos
  angulo1=(acos(x)* 180.0) / PI;      
 
       y=(pow(a,2)+pow(c,2)-pow(b,2))/(2*a*c);
  angulo2=(acos(y)* 180.0) / PI;    
     
  z=(pow(a,2)+pow(b,2)-pow(c,2))/(2*a*b);
  angulo3=(acos(z)* 180.0)/ PI;      
 
  if ((angulo1<90) && (angulo2<90) && (angulo3<90))  //classifica o ângulo em uma das três opções
  {
  printf("pode ser classificado pelos seus angulos internos como sendo ACUTANGULO \n");
  }
  else if ((angulo1>90) || (angulo2>90) || (angulo3>90))
  {
  printf("pode ser classificado pelos seus angulos internos como sendo OBTUSANGULO \n");
  }
  else if ((angulo1==90) || (angulo2==90) || (angulo3==90))
  {
  printf("pode ser classificado pelos seus angulos internos como sendo RETANGULO \n");
  }
 
 
  if ((a==b) && (b==c))                         //compara e classifica os lados
       {
         printf(" e em relacao a seus lado eh EQUILATERO \n");
       }
  else if ((a==b) || (a==c) || (b==c))
       {
     printf(" e em relacao a seus lados eh ISOSCELES \n");
       }
     else if ((a!=b) || (b!=c))
       {
        printf(" e em relacao a seus lados eh ESCALENO \n ");
       }
      perimetro=(a+b+c)/2;                          
     area=sqrt(perimetro*((perimetro-a)*(perimetro-b)*(perimetro-c)));
     raio=area/perimetro;
     printf("\n tem perimetro=%.3f cm \n area=%.3f cm2 \n raio=%.3f cm",perimetro,area,raio);
    }
    else
   {
      printf("O triangulo nao existe");
   }
}

Nenhum comentário:

Postar um comentário