Ir ao conteúdo

Posts recomendados

Postado

 Faça um algoritmo que leia os três comprimentos de lados de um possível triângulo a, b e c e os ordene, de modo que  a represente o maior dos lados. A seguir, determine e mostre o tipo de triângulo que esses três lados formam, com base nas seguintes definições:

Se a> b+c = não formam triângulo

Se a2 = b2 + c2 = triângulo retângulo

Se a2 > b2 + c2 = triângulo obtusângulo

Se a2 < b2 + c2 = triângulo acutângulo 

 

 

 

se puderem me ajudar por favor nao estou conseguindo fazer.... desde ja agradeço

  • Curtir 1
  • Moderador
Postado

Caro usuário,

 

Seja bem-vindo ao Fórum do Clube do Hardware.

 

No intuito de servir como fonte de pesquisa no caso de instituições de ensino, informamos que incorrer no resolvimento por completo de questões relacionadas a disciplinas escolares de cursos técnicos e faculdades podem ser revistas e removidas pela Equipe de Moderação do Clube do Hardware.

 

Para sanar dúvidas sobre esse tipo de problema, por gentileza, publique o passo a passo do desenvolvimento da questão, projeto, monografia ou conteúdo em dúvida para que possamos analisar se a resposta está correta ou não, ou para que possa ser auxiliado com a dúvida no desenvolvimento do exercício.

 

Infelizmente, não há como resolver os trabalhos pelos usuários. O objetivo do Fórum do Clube do Hardware é auxiliar seus usuários a encontrar soluções para que possam sanar suas dúvidas, e não de trazer soluções prontas para seus usuários.. Além disso, copiar e colar respostas que não são de autoria própria do qualquer usuário é considerado plágio, o que é ilegal.

 

Esperamos que compreenda.

 

Atenciosamente,

Equipe Clube do Hardware

  • Curtir 1
Postado

@Gabriel_Dead O que você não conseguiu fazer? As etapas são claras:

 

1 -  Receber a,b e c.

2 - if( a > (b + c))           não formam triângulo

3 - if(a2 = (b2 + c2))     triângulo retângulo

4 - if(a2 > (b2 + c2))     triângulo obtusângulo

5 - if(a2 < (b2 + c2))     triângulo acutângulo 

  • Curtir 1
  • Amei 1
Postado

obrigado e por que estou começando a programar agora e n estava entendendo muito bem

adicionado 1 minuto depois

@DiF ohh sim obrigado por me avisar ! 

adicionado 20 minutos depois
#include<stdio.h>
#include<stdlib.h>
#include<math.h>

int main(){

    int a, b, c;

printf("digite o primeiro lado:\n");
     scanf("%d", &a);
printf("digite o segundo lado:\n");
     scanf("%d", &b);
printf("digite o terceiro lado:\n");
     scanf("%d", &c);
    
if ((a>b)&&(a>c)){

    printf("estes sao os lados: %d - %d -%d \n", a, b, c);
}
if ((b>a)&&(b>c)){
    printf("este e: %d - %d -%d \n", b, a, c);

}
if( a > (b + c)){
    printf("nao formam triangulos: ");
}
if(a = (b + c)){
    printf("e um triangulo retangulo: ");
} 
if(a > (b + c)){
printf("e um triangulo obtusangulo: ");
}
if(a < (b + c)){
    printf("triangulo ocutangulo: ");
}

return 0;

}


\\\\\\\\me diz qual e o erro n estou entendo\\\\\\\\ por favor .... obg

  • Curtir 1
Postado

@Gabriel_Dead   não sei se você já sabe, mas em c/c++ todo programa começa e precisa ter a função int main()  que é assim :

int main(){
      .
    aqui você coloca os comandos do programa
      .
    return 0;
}

e então dentro da main,  primeiro você pega o valor dos três lados do triangulo usando scanf ( ) assim :

printf("Digite O Lado A Do Triangulo ");
scanf( " % d ", & a );

esse  a é a variável referente ao lado A do triangulo e ela precisa ser declarada lá no inicio , pode ser antes da main. e coloque também o b e o c, e aqui no scanf esse d significa que você vai pegar um dado de número inteiro, se fosse um número fracionado você colocaria um  f  no lugar,  então faça desse mesmo jeito para pegar os outros dois lados , depois para que  A  receba o valor do lado maior você compara a variável a com b e se a for menor então faça A igual a b depois o mesmo com a variável , depois mostrar a resposta de acordo com o enunciado .

Postado

@Gabriel_Dead    na hora de comparar você precisa usar dois sinais de igual   ==  e você tinha colocado só um, 

if(a = (b + c)){
    printf("e um triangulo retangulo: ");
} 
o certo seria assim :
if(a == (b + c)){
    printf("e um triangulo retangulo: ");
} 

e você está comparando a <b+c mas seria assim :

if(a*a == (b*b) +(c*c)){
    printf("e um triangulo retangulo: ");
}

 

  • Obrigado 1
  • Membro VIP
Postado

Olá @Gabriel_Dead. O segredo para resolver um problema qualquer, é inicialmente entender o problema. Parece óbvio, mas é comum tentar resolver algo que não se sabe ainda o que é.

 

Vamos lá, uma boa ideia é tentar dividir o problemas em partes:

19 horas atrás, Gabriel_Dead disse:

Faça um algoritmo que leia os três comprimentos de lados de um possível triângulo a, b e c e os ordene, de modo que  a represente o maior dos lados. [...]

 

Se observar, aqui já temos um requisito importante. Pois foi especificado que os lados devem ficar em ordem, ou seja, já tem um subproblema que poderia ser tratado como um problema individual... é necessário saber ordenar 3 números. Pelo que vi do código, não está funcional ainda.

 

Eu costumo orientar a evitar ir para uma próxima etapa antes de terminar a atual, ou seja, você teria que primeiro fazer essa parte funcionar corretamente, para só depois tentar fazer uma outra OU deixar essa etapa "em construção" e ir para uma outra que não tem relação com esta.

 

Vamos analisar o que vem depois.

 

19 horas atrás, Gabriel_Dead disse:

A seguir, determine e mostre o tipo de triângulo que esses três lados formam, com base nas seguintes definições:

Se a> b+c = não formam triângulo

Se a2 = b2 + c2 = triângulo retângulo

Se a2 > b2 + c2 = triângulo obtusângulo

Se a2 < b2 + c2 = triângulo acutângulo 

 

Ok. Foram dadas 4 definições. Vamos também subdividir os problemas. A primeira fala de "não formar um triângulo", ou seja, fala de "condição de existência de um triângulo". Daí, você precisaria pesquisar como os triângulos funcionam (a depender do grau escolar, já deveria saber, mas é comum esquecer)... quais as suas propriedades, e em específico a sua condição de existência. Entrar no mundo desse polígono... Verás que uma delas é que "um lado de um triângulo NÃO pode ser maior ou igual a soma dos 2 outros lados". É um princípio básico. Outro ponto importante é que essa condição de existência é para cada lado, ou seja, teria que verificar A, B e C... e não só o A. Daí, já percebemos que a ordenação tem um propósito (que não é apenas colocar uma coisa a mais para dificultar a vida do estudante), que seria possibilitar a verificação de apenas um lado, e mesmo assim saber se o triângulo é possível ou não. (lembrando: se não tiver em ordem, teria que fazer a verificação para cada lado, pois pode ser válido para um, e não ser para outro)

 

Abaixo uma pequena experiência (facultativa):

Ao pesquisar já estaria óbvio, mas vou tentar adiantar... imagine dois palitos de dentes com uma ponta tocando um ponta da outra... formando um V. Agora, tente perceber que quanto maior for o terceiro palito, mais aberto vai ficar esse V, correto? logo, necessariamente o 3º palito tem que ser MENOR (oposto de "maior ou igual") que a soma dos dois outros, para poder assim "tampar o V, e forma um triângulo". Percebe?
Perceba também que ao fazer esse exercício mental, verás que o enunciando não está errado, mas está incompleto, pois não só o A não pode ser maior que B+C, como também não pode ser igual (os palitos ficariam paralelos, e não daria para formar um triângulo). Logo, a definição correta seria "Se  a>=b+c   = não formam um triângulo". Mas em fim.

 

Daí fica notável que ANTES DE VERIFICAR O TRIÂNGULO terás que fazer a ordenação correta.

 

RESUMINDO:

Foque na ordenação. Se ela não funcionar, o resto não funcionará também. Sugiro dar uma pesquisada no fórum... é um tema recorrente e encontrará várias dicas de como resolver isso.

 

Posta o código da ordenação aqui para analisarmos, depois partimos para as outras verificações.

 

 

Obs.: você também poderia já inserir os lados já em ordem, e pular essa etapa. Daí faria a item 1. Você escolhe. Para qualquer caso fico no aguardo.

 

 

 

No aguardo.

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...