#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
char condicaoExistencia(int vA,int vB,int vC){
char flag=1;
flag=(vB-vC<vA && vA < vB+vC);
flag=(flag && vA-vC<vB && vB < vA+vC);
flag=(flag && vA-vB<vC && vC < vA+vB);
return flag;
}
int main(int argc, char** argv) {
int cont = 1, vA,vB,vC;
printf("Vertice A: \n");
scanf("%d", &vA);
printf("Vertice B: \n");
scanf("%d", &vB);
printf("Vertice C: \n");
scanf("%d", &vC);
printf("%s \n", (condicaoExistencia(vA,vB,vC))?"É um triangulo":"Não é um triangulo %c");
}
Para construir um triângulo não podemos utilizar qualquer medida, tem que seguir a condição de existência:
Para construir um triângulo é necessário que a medida de qualquer um dos lados seja menor que a soma das medidas dos outros dois e maior que o valor absoluto da diferença entre essas medidas.
NO codigo não considerei o valor absoluto(sem sinal), mas acho que resolve o problema.
Para imprimir a frase utilizei um operador ternário, que funciona assim.
(condição s ser testada)?resultado se verdadeiro:resultado se falso; então se a condição de existência for 0 (falso) ele imprime que não é triangulo ou o contrário.
Para escrever sua resposta aqui, entre ou crie uma conta
Compartilhar