Buscar

Faça uma função que recebe três valores e retorna 1 se for possível construir um triângulo com essas dimensões, e 0 se não for possível.

Faça uma função que recebe três valores e retorna 1 se for possível construir um triângulo com essas dimensões, e 0 se não for possível. O programa que utiliza esta função deve imprimir na tela uma mensagem informando o usuário da possibilidade ou impossibilidade

💡 3 Respostas

User badge image

Joao Andre MArtins Dias

#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");


}

0
Dislike0
User badge image

Joao Andre MArtins Dias

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.

0
Dislike0
User badge image

RD Resoluções

int verifica(float a, float b, float c)
{
    if(b-c<a){
        if(a<b+c){
            if(a-c<b){
                if(b<a+c){
                    if(a-b<c){
                        if(c<a+b){
                            return 1;
                        }
                        else{
                            return 0;
                        }
                    }
                    else{
                        return 0;
                    }
                }
                else{
                    return 0;
                }
            }
            else{
                return 0;
            }
            else{
                return 0;
            }
        }
        else{
            return 0;
        }
    }
    else{
        return 0;
    }
}
0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais