aula 63

Exercício 10: Dados 3 valores verifique se formam um triângulo equilátero, isósceles ou escaleno

Bem vindo a aula 63 de nosso curso gratuito de programação com a linguagem C.

Na aula de hoje vamos resolver o exercício número 10.

10) Faça um programa que, dado três valores a, b e c, verifique se eles podem ser os comprimentos dos lados de um triângulo. Caso positivo, seu programa deve informar também se o triângulo é equilátero, isósceles ou escaleno. Caso contrário, seu programa deve escrever a mensagem “Não formam um triângulo”.

Este exercício é interessante porque aqui podemos praticar a ideia de dividir para conquistar. As vezes na programação ficamos tão fixados no problema como um todo que acabamos não conseguindo resolver. Dividir o problema em partes facilita tanto a compreensão do problema quanto a solução propriamente dita.

Perceba que neste problema a primeira coisa que precisamos resolver é: descobrir se os três comprimentos informados pelo usuário foram um triângulo.

Para facilitar vamos assumir que o usuário irá informar sempre valores positivos. Assim, para que formem um triângulo a soma de quaisquer dois valores precisa ser maior que o terceiro valor restante, ou seja: sejam três inteiros positivos a, b e c. Eles formam um triângulo se:

(a + b) > c e (a + c) > b e (b + c) > a

Verificado esta condição, aí então vamos verificar se é um triângulo equilátero (3 lados iguais), isósceles (2 lados iguais) ou escaleno (3 lados diferentes).

int main() {
    int a, b, c;

    printf("Digite tres valores: ");
    scanf("%d%d%d", &a, &b, &c);

    if(a + b > c && a + c > b && b + c > a){
        printf("Os 3 lados formam um triangulo!\n");
        if(a == b && a == c)
            printf("Equilatero\n");
        else
            if(a == b || a == c || b == c)
                printf("Isosceles\n");
            else
                printf("Escaleno\n");
    }
    else
        printf("Os 3 lados NAO formam um trinagulo!\n");
}

Deixe um comentário

vinte − três =

Wagner Gaspar

Capixaba de São Gabriel da Palha, Espírito Santo. Bacharel em Ciência da Computação pela Universidade Federal do Amazonas e mestre em informática pela Universidade Federal do Espírito Santo.