• Blog
  • Acerca
  • Autor
  • Contacto
  • Programa: ¿Qué tipo de triángulo es?

    Ok, hasta hoy ya hemos visto las herramientas necesarias para hacer nuestro primer programa un poco más en serio. Este programa nos pide la medida de los tres lados de un triángulo y nos devuelve el tipo de triangulo que es (equilátero, isósceles o escaleno).

    Para esto vamos a usar condiciones en C++ para comparar los lados de nuestro triángulo.

    Un tríangulo equilátero tiene sus tres lados iguales, por tanto, la condición quedaría así:

    “si el lado 1 es igual al lado 2 y el lado 2 es igual al lado 3, entonces es equilátero”

    Un tríangulo isósceles tiene solo dos lados iguales, por tanto, la condición quedaría así:

    “si el lado 1 es igual al lado 2 y el lado 2 es diferente al lado 3, o
    el lado 2 es igual al lado 3 y el lado 3 es diferente al lado 1, o
    el lado 3 es igual al lado 1 y el lado 1 es diferente al lado 2 entonces es isósceles”

    Un tríangulo escaleno tiene sus tres lados diferentes, por tanto, la condición quedaría así:

    “si el lado 1 es diferente al lado 2 y el lado 2 es diferente al lado 3 y el lado 3 es diferente al lado 1, entonces es escaleno”

    Pero vamos a lo bueno. El programa completo en C++, sería así:

    #include<stdio.h>
    #include<conio.h>
    int main()
    {
      //Declaracion de variables
      int lado1=0,lado2=0,lado3=0;
     
      //Pedir los datos
      printf("TIPOS DE TRIANGULOS");
      printf("\nIntroduce el lado 1: ");scanf("%i",&lado1);
      printf("\nIntroduce el lado 2: ");scanf("%i",&lado2);
      printf("\nIntroduce el lado 3: ");scanf("%i",&lado3);
     
      //Hacer comparaciones
      if(lado1==lado2 && lado2==lado3)
      { printf("\n\tEs equilatero"); }
      if(lado1==lado2 && lado2!=lado3 || lado2==lado3 && lado3!=lado1 || lado3==lado1 && lado1!=lado2)
      { printf("\n\tEs isosceles"); }
      if(lado1!=lado2 && lado2!=lado3 && lado3!=lado1)
      { printf("\n\tEs escaleno"); }
     
      //Pausa
      getch();
    }

    Aprovecho para explicarles un detalle más. \n (alt+92 n) dentro de un printf(); indica un salto de línea, y \t (alt+92 t) indica una sangría o tabulado o algo de espacio.

    1. emanuel dice:

      como puedo hacer para q me diga el programa q el triangulo es rectangulo( facil: cumple pitagoras), obtusangulo y acutangulo al darle los lados???

    2. ASNU TAJAR dice:

      ESTA EPZELENTE,LO HIZE EN CLAXE DE ZIZTEMAZ Y ZAQUE 5.0

    3. MARCELA dice:

      EXCELENTE GRACIAS…ME FUE DE MUCHA AYUDA Y ENTENDI PASO A PASO AUN MEJOR QUE EL DE MI PROFESOR JEJEJE

    4. maria leidy osorio dice:

      respuesta porfa de este ejercicio: crear un programa que permita conocer a fondo un triangulo dadas unas medidas que pueden ser.
      a)la longitud de los lados
      b)su base altura y dos de sus angulos
      c)que sea un tringulo rectangulo y se conozca la longitud de sus catetos y un angulo.
      el programa debera entregar el area del triengulo y el perimetro.
      porfa ayudenme

    5. Rodrigo Narantes dice:

      Ayuda chequeen mi programa por fa no me deja compilar, dice que esta mal el if pero según yo cerré todas las llaves

      #include
      #include
      int main(){
      int a=0,b=0,c=0;
      printf(“MATEMATICAS AVANZADAS \n\n”);
      printf(“Este programa definira un triangulo con sus medidas (a), (b) y (c)\n”);
      printf(“Introduce el lado (a) recuerda que (c) es la hipotenusa\n”);
      scanf(“%.2i”,&a);
      printf(“Introduce el lado (b) recuerda que (c) es la hipotenusa\n”);
      scanf(“%.2i”,&b);
      printf(“Introduce el lado (c) recuerda que (c) es la hipotenusa\n”);
      scanf(“%.2i”,&c);

      if (a==b && b!=c>{
      printf(“ESTE ES UN TRIANGULO ISOSCELES\n”);
      }
      else{
      if (a==c){
      printf(“ESTE ES UN TRIANGULO EQUILATERO\n”);
      }
      }
      else
      printf(“ESTE ES UN TRIANGULO RECTANGULO\n”);

      getch();
      return 1;
      }

    6. oswaldo dice:

      y para que sirve estos dos ! ||

    7. tania dice:

      ola solamente queria saber komo seria su diagrama de flujo

    8. Mario Ernesto dice:

      Hola a todos, realmente este tipo de sentencias son sencillas, pero ahí les va un problemilla jeje, como saber si un triangulo es posible trazarlo, por ejemplo, que un lado midiera 10, otro lado midiera 3 y otro lado midiera 4. teóricamente y gráficamente ese triangulo no se puede trazar. como serían las sentencias para saber si se puede o no se puede hacer=

      • Julian Z dice:

        Hola. Yo tuve el mismo ejercicio y yo lo plantee bajo la regla de que la suma de dos lados tiene que ser mayor al otro lado.

        Me quedo algo así:

        #include
        #include
        using namespace std;

        int main (){
        float a, b, c;

        cout <> a;
        cout <> b;
        cout <> c;
        //Se usa if y else para comparar el valor de verdadero o falso de la expresión
        if((a + b > c)&&(b + c > a)&&(c + a > b))
        { cout << "\n Si se puede formar un triangulo" ;}
        else
        { cout << "\n No se puede formar un triangulo"; };

        getch ();
        return 0;
        }
        Espero sirva para resolver tu duda.

    9. Elyamid dice:

      Soy un programador ya iniciado en c++ y tenia una duda muy pequeñita
      porque ya se me habian olvidado un par de cosas, pero agradezco
      al posteador por despejarmela grax;

    10. eliseo vela dice:

      eii hola amm ps si me corre el programita y todo pero ps como le ago para sakar el area de cada tipo de triangulo???
      alguien q me pueda ayudar se lo agradecere mucho

    11. isabel dice:

      quisira saber como puedo hacer un programa en c++ utilizndo goto xy para hacer u triangulo y calcular el area del mismo

    12. richart dice:

      necesito ayuda con este programa
      Programa que calcula la hipotenusa de un triangulo dados los siguientes datos:
      1.- El angulo en grados y el cateto adyacente
      2.- El angulo en grados y el cateto opuesto.
      El programa cuenta con las funciones “hipotenusa_ca” e “hipotenusa_co”
      Sugerencia: utilice funciones trigonometricas.

    13. Jorch dice:

      aquí encontré otra solución
      #include
      #include

      void main()
      {
      int a,b,c;

      printf(“Dame el lado a”);
      scanf(“%d%”,&a);
      printf(“Dame el lado b”);
      scanf(“%d%”,&b);
      printf(“Dame el lado c”);
      scanf(“%d%”,&c);

      if(c<b+a && b<c+a && a<b+c)
      {
      if(a==b)
      {
      if(b==c)
      printf("Equilatero");
      else
      printf("Isoceles");
      }
      else
      if(a==c)
      printf("isoceles");
      else
      printf("Escaleno");

      }
      }

    14. Ed dice:

      Gracias por tu excelente aporte!

    15. rodmar dice:

      que tal disculpen un programa que me diga que tipo de triangulo es pero solo proporcionando dos lados del triangulo, esque asi nos lo pidio el profesor pero no se me ocurre nada

    16. merari dice:

      necesito un programa en c mas mas que lea cadenas de un determinado alfabeto, por lo menos tres elementos, ademas de permitir concatenación de cadena, sacar inversa mostrar el valor de la longitud de la cadena

    17. kores dice:

      De acuerdo con el algoritmo del problema 6, mejorarlo para que ademas de indicar el tipo de triangulo
      formado, indique si realmente se forma un triangulo.
      Tome en cuenta que podra suceder que una combinacion dada de valores pudiera generar una gura
      diferente, y el triangulo por de nicion debe tener 3 lados y 3 angulos.
      La respuesta a este problema es relativamente sencilla, solo requiere de un poco de analisis, como
      recomendacion intenten dibujar los triangulos en papel, y observen que sucede cuando alguno de los
      lados es igual a cero.

    1. [...] por medio de un comentario me pidió ayuda para hacer un programa en c++ que nos dijera si un triángulo es rectángulo, [...]

    Hola, escribe aquí tu comentario: