Jump to content
Fórum Script Brasil
  • 0

Triangulos


italogoiania

Question

Dados três valores X, Y, Z, verifiquem se eles podem ser os comprimentos dos

lados de um triângulo e se forem escrever uma mensagem informando se é se é

um triângulo equilátero, isósceles ou escaleno.

O comprimento de um lado do triângulo é sempre menor do que a soma dos outros dois.

Sabendo que: EQUILATERO - Todos lados iguais

ISOCELES - Dois lados iguais

ESCALENO - Todos os lados diferentes

O que há de errado?

Porque quando digito X,Y iguais e Z diferente, ele sai como isoceles e escaleno?

Acontece a mesma coisa quando X e Z são iguais e Y diferente.

/* Este é o programa de exercício número 6 da lista do segundo semestre de 2011, Ciência da Computação UNASP */

#include <stdio.h>
#include <conio.h>

int x,y,z,lado,nulo;
int main()
{
{
const int nulo=0;
}
{
    printf("Digite X : ");
    scanf("%d", &x);
}
{
    printf("Digite Y : ");
    scanf("%d", &y);
}
{
    printf("Digite Z : ");
    scanf("%d", &z);
}
    if(x == 0 && y == 0)
    {
          lado=0;
          if(lado == 0 &&  z == 0)
          {
                   printf("Os valores informados não podem ser um triangulo \n");
          }    
    }
    if(x==y)
    {
      {
            lado=x;
      }
            if (lado==z)                     
            {
                     printf("O Triangulo e equilatero\n");                       
            }
    }
    if(x==y)
    {
      {
            lado=x;
      }
            if(lado != z)
            {
                    printf("O Triangulo e isoceles\n");
            }
    }
    if(x==z)
    {
      {
            lado=x;
      }
            if(lado != y)
            {
                    printf("O Triangulo e isoceles\n");
            }
    }
    if(y==z)
    {
      {
            lado=y;
      }
            if(lado != x)
            {
                    printf("O Triangulo e isoceles\n");
            }
    }
    else
    {
        printf("O triangulo e escaleno. \n");
    }
getch();
}

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

Olá.. observe o código que eu fiz... se ainda restar alguma dúvida estou à disposição.

#include <stdio.h>

#include <conio.h>

int main(){

float lado1,lado2,lado3; //declaração das variaveis lados;

printf("Lado 1:");

scanf("%f",&lado1);//leitura lado1;

printf("Lado 2:");

scanf("%f",&lado2);//leitura lado2;

printf("Lado 3:");

scanf("%f",&lado3);//leitura lado3;

//Testa se algum lado é zero;

if ((lado1==0)||(lado2==0)||(lado3==0)){

printf("Os lados informados não formam um triangulo\n");

//Se lado1 igual a lado2 e lado1 igual lado3, logo todos os lados são iguais;

}else if ((lado1==lado2)&&(lado1==lado3)){

printf("Triangulo Equilatero\n");

//Teste para ver se apenas 2 lados são iguais;

}else if (((lado1==lado2)&&(lado1!=lado3))||((lado2==lado3)&&(lado2!=lado3))||((lado1==lado3)&&(lado1!=lado2))){

printf("Triangulo Isosceles\n");

//Teste para todos os lados diferentes;

}else if ((lado1!=lado2)&&(lado1!=lado3)&&(lado2!=lado3)){

printf("Triangulo Escaleno\n");

}

getch();

}

Lembrando que esse código não faz a verificação de que um lado é menor que a soma dos outros dois.

Edited by Dih_Negretto
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652.1k
×
×
  • Create New...