Pessoal, estou com um problema, preciso identificar 3 tipos de triangulo. Acutângulo, Retângulo e Obtusângulo. Como posso identificar?
foi facil o Acutangulo pois os 3 lados sao iguais, logo nao preciso calcular o angulo de cada lado.
Código
importjava.util.Scanner;classtriangulos_11004{publicstaticvoidmain(String[]args){Scannerscan=newScanner(System.in);inta,b,c;while(true){a=scan.nextInt();b=scan.nextInt();c=scan.nextInt();if(a==0&&b==0&&c==0)break;if((a==b)&&(b==c)){System.out.println("a");}//agora quero identificar o angulo dos outros tipos}}}
Dei uma pesquisada no google, porém encontrei diversos sites falando sobre como achar a altura etc etc… quero só o angulo interno, como posso calcular só o angulo?
ViniGodoy
gpzim98
Cara, esse seu problema é mto fácil, porém não entendi bem o que vc esta precisando?
Explica melhor? Você precisa apenas se ele é Acutângulo, retângulo ou obtusângulo?
Se for tá facil vc de cara tem que jogar num If por exemplo para saber se ele é retângulo:
a² = b² + c²
Sendo ‘a’ a hipotenusa, ‘b’ e ‘c’ os catetos.
(Note que a hipotenusa é sempre maior que os catetos.)
Depois veja:
Se não for retângulo, use a lei dos cossenos para ver se algum dos ângulos tem cosseno negativo.
Se sim, então o triângulo é obtusângulo.
(Ângulos maiores que 90° e menores que 180° têm cosseno negativo.)
Lei dos cossenos: cos  = (b² + c² - a²)/2bc
por fim:
aso ele não for retângulo e tampouco obtusângulo, só resta ser acutângulo.
ViniGodoy
gpzim98:
a² = b² + c²
Sendo ‘a’ a hipotenusa, ‘b’ e ‘c’ os catetos.
(Note que a hipotenusa é sempre maior que os catetos.)
Depois veja:
Se não for retângulo, use a lei dos cossenos para ver se algum dos ângulos tem cosseno negativo.
Se sim, então o triângulo é obtusângulo.
(Ângulos maiores que 90° e menores que 180° têm cosseno negativo.)
Lei dos cossenos: cos  = (b² + c² - a²)/2bc
por fim:
aso ele não for retângulo e tampouco obtusângulo, só resta ser acutângulo. :)
A fonte desse texto é o link que postei logo acima.
gpzim98
sim, eu apenas organizei o codigo, da forma como ele deve fazer seus If’s/Else…
denisspitfire
mas eu preciso dos angulos, como eu vou pegar tipo a=2 b= 5 c=2 e saber os angulos… e tipo… como sei que nao da pra ser um triangulo???
denisspitfire
Por exemplo, para eu fazer o retangulo preciso saber quem é a hipotenusa. Como vou guardar que é a… ou que é b…
pois eu pensei assim
maior=a;if(maior<b)maior=b;if(maior<c)maior=c;
porem… eu só terei o numero maior… nao quem é o maior entendem?
denisspitfire
Pessoal, agora vai… ele ja esta identificando se é todos os lados iguais e se ele é retangulo… vlw!!! só falta mais um se nao for nenhum dos tres, nao é triangulo.
importjava.util.Scanner;classtriangulos_11004{publicstaticvoidmain(String[]args){Scannerscan=newScanner(System.in);inta,b,c,maior,ang;while(true){a=scan.nextInt();b=scan.nextInt();c=scan.nextInt();if(a==0&&b==0&&c==0)break;if((a==b)&&(b==c)){System.out.println("a");}//retangulomaior=a;if((maior*maior)==(b*b)+(c*c)){System.out.println("r");break;}if(maior<b)maior=b;if((maior*maior)==(a*a)+(c*c)){System.out.println("r");break;}if(maior<c)maior=c;if((maior*maior)==(b*b)+(a*a)){System.out.println("r");break;}//angulosang=((b*b)+(c*c)-(a*a))/2*b*c;if(ang>90||ang<180){System.out.println("o");break;}//nao é trianguloSystem.out.println("n");}}}
vamos aos testes 1 2 1 era para ele dizer que nao da pra ser um retangulo ou seja… aparecer um “n”.
mas ele esta aparecendo um o de obtusangulo… e agora?
denisspitfire
eu tinha esquecido do && ao inves de || para o primeiro teste… vlw pessoal!
importjava.util.Scanner;classtriangulos_11004{publicstaticvoidmain(String[]args){Scannerscan=newScanner(System.in);inta,b,c,maior,ang;while(true){a=scan.nextInt();b=scan.nextInt();c=scan.nextInt();if(a==0&&b==0&&c==0)break;if((a==b)&&(b==c)){System.out.println("a");break;}// retangulomaior=a;if((maior*maior)==(b*b)+(c*c)){System.out.println("r");break;}if(maior<b)maior=b;if((maior*maior)==(a*a)+(c*c)){System.out.println("r");break;}if(maior<c)maior=c;if((maior*maior)==(b*b)+(a*a)){System.out.println("r");break;}// angulosang=((b*b)+(c*c)-(a*a))/2*b*c;if(ang>90&&ang<180){System.out.println("o");break;}// nao é trianguloSystem.out.println("n");}}}