Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

[Dúvida] Triangulo na linguagem C

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    C / C# [Dúvida] Triangulo na linguagem C

    Olá a todos. Gostaria de saber se meu código funciona direitinho. Não sou bom em matemática Estou programando por diversão

    Código:
    #include <stdio.h>
    
    /* CONDICAO DE EXISTENCIA DO TRIANGULO:
    
                                -
    A		      -          -		B
    		 -		     -
    		------------------------
    			C
    
    A < B+C			A > |B-C|
    B < A+C			B > |A-C|
    C < A+B			C > |A-B|
    
     Dados tres valores,  A, B, C, verificar se eles podem ser valores dos lados de um triangulo
    e, se forem, se e um triangulo escaleno, equilatero ou isoscele, considerando os seguin- ´
    tes conceitos:
    
    • O comprimento de cada lado de um triangulo e menor do que a soma dos outros
    dois lados.
    
    • Chama-se equilatero o triangulo que tem tres lados iguais. 
    • Denominam-se isosceles o triangulo que tem o comprimento de dois lados iguais. 
    • Recebe o nome de escaleno o triangulo que tem os tr es lados diferentes
    
    
     */
    
    
    int main ()
    
    {
    	float a,b,c, adicao[3], subtracao[3];
    	
    	printf ("\n\n === TRIANGULO ===");
    	printf ("\n\nDigite a medida do lado 1 do triangulo: ");
    	scanf ("%f",&a);
    	printf ("Digite a medida do lado 2 do triangulo: ");
    	scanf ("%f",&b);
    	printf ("Digite a medida do lado 3 do triangulo: ");
    	scanf ("%f",&c);
    	
    	adicao[0] = b+c; 		/* B + C */
    	adicao[1] = a+c; 		/* A + C */
    	adicao[2] = a+b; 		/* A + B */
    	subtracao[0] = b-c; 						/* B - C */
    	subtracao[1] = a-c; 						/* A - C */
    	subtracao[2] = a-b; 						/* A - B */
    	
    	if ( subtracao[0] < 0 ) 	/* |B - C| */
    		subtracao[0] *= -1; 
    	if ( subtracao[1] < 0 ) 	/* |A - C| */
    		subtracao[1] *= -1;
    	if ( subtracao[2] < 0 ) 	/* |A - B| */
    		subtracao[2] *= -1;
    	
    	if ( a<adicao[0] && b<adicao[1] && c<adicao[2] && a>subtracao[0] && b>subtracao[1] && c>subtracao[2] )
    	
    	{
    		printf ("\nOs valores de entrada atenderam a condicao da existencia do triangulo");
    		
    		if ( a==b && b==c )
    			printf ("\n\nO triangulo e equilatero");
    		else if ( a==b || b==c || c==a )
    			printf ("\n\nO trianglo e isosceles");
    		else if ( a!= b && b!=c && c!=a )
    			printf ("\n\nO triangulo e escaleno");
    	}
    	
    	else
    		printf ("\nOs valores de entrada nao atenderam a condicao da existencia do triangulo");
    	
    	
    	
    	
    	
    	return(0);
    }
    Obrigado e tenham uma boa tarde.

  • Font Size
    #2
    Resposta

    Seu código está correto, mas tem trechos de código desnecessários. O vetor subtração não está sendo utilizado; e a condição if pro escaleno é desnecessária, visto que se não for equilátero e nem isósceles, óbvio que vai ser escaleno, então bastaria botar um "else" em vez de "if".

    Comment

    X
    Working...
    X