Tipos de Triángulos según sus lados.

Se quiere realizar el programa correspondiente al siguiente ejercicio o práctica de programación con lenguaje c propuesto.

Utilizando una matriz de datos, que guarde los tres valores correspondientes a los lados de un triangulo, solicitar por pantalla los valores correspondientes para rellenar la matriz, y determinar una vez introducidos los datos cuantos tipos de triángulos equiláteros, isósceles y escalenos hay en la matriz.

Para realizar este ejercicio o práctica de programación, se ha utilizado la definición de una estructura compuesta por tres valores enteros, que representan las medidas de cada uno de los lados del triangulo, a continuación se ha creado una matriz sobre dicha estructura, se han solicitado los datos y se comprueban los valores de cada uno de los lados para determinar de que tipo es el triangulo y visualizarlo, añadiendo también un contador para cada uno de los tipos de triangulo.

Vuelvo a comentaros, perdonad que sea repetitivo, no es la única solución, seguramente habrán otras opciones que si nos las mandáis utilizando los comentarios estaremos encantados de publicarlas haciendo referencia a quien nos la envía.

La posible solución al ejercicio o práctica de programación que se plantea es la siguiente:

/*
    Utilizando una matriz de datos, que guarde los tres valores
    correspondientes a los lados de un triangulo, solicitar por pantalla
    los valores correspondientes para rellenar la matriz, y determinar una
    vez introducidos los datos cuantos tipos de
    triángulos equiláteros, isósceles y escalenos hay en la matriz.
*/

// Inclusión de las librerías
#include <stdio.h>
#include <stdlib.h>

// Definición del numero máximo de triángulos de la matriz
#define MAX 5

// Definición de la estructura para guardar los datos
// definiendo tres valores enteros y dando nombre a la
// estructura "triangulo"
typedef struct t {
    int x;
    int y;
    int z;
} triangulo;


// Funcion principal
int main()
{
    // Definición de variables auxiliares
    int contador=0;
    int a;
    int b;
    int c;
    int contador_equilatero = 0;
    int contador_isosceles = 0;
    int contador_escaleno = 0;
    // Definición de la matriz de triángulos utilizando
    // la estructura como tipo de dato.
    triangulo triangulos[MAX];

    // Solicitar los lados de los triángulos utilizando un bucle
    // y utilizando una sola petición que espera valores separados
    // por comas. Ej: 1,1,1
    for(contador=0;contador<MAX;contador++) {
        printf("Teclee valores X,Y,Z :");
        scanf(" %d,%d,%d",&triangulos[contador].x,&triangulos[contador].y,&triangulos[contador].z);
    }

    // Recorrer la matriz para comprobar cada uno de los triángulos utilizando
    // un bucle FOR, se comprueba el tipo de triangulo y se incrementa el contador
    for(contador=0;contador<MAX;contador++) {
        // Se recogen los valores de la matriz en variables auxiliares por comodidad
        a= triangulos[contador].x;
        b=triangulos[contador].y;
        c=triangulos[contador].z;
        // Se visualizan los valores del triangulo
        printf("\n%d,%d,%d - ",triangulos[contador].x,triangulos[contador].y,triangulos[contador].z);
        // Se comprueban los valores para determinar el tipo con la función if, si condicional
        if(a==b) {
            if(a==c) {
                printf("Equilatero");
                contador_equilatero++;
            } else {
                printf("Isosceles");
                contador_isosceles++;
            }
        } else if(a==c) {
            printf("Isosceles");
            contador_isosceles++;
        } else if(b==c) {
            printf("Isosceles");
            contador_isosceles++;
        } else {
            printf("Escaleno");
            contador_escaleno++;
        }
    }
    printf("\nEquilateros: %d",contador_equilatero);
    printf("\nIsosceles: %d",contador_isosceles);
    printf("\nEscaleno: %d",contador_escaleno);
    return 0;
}

Una vez compilado el programa y puesto en funcionamiento, el resultado ha de ser similar al que se muestra en la siguiente imagen.

Prácticas C - Tipos Triángulos

Prácticas C – Tipos Triángulos

Un saludo grandisimo y muchas gracias por vuestra visita, espero veros de nuevo y cuidaros mucho.

Ah recordad!!

if ( MeQuedoEnCasa == SoyResponsable ) {

  printf("Lo Conseguiremos entre todos");

} else {

 printf("Error 404 - Algo estas haciendo mal, piénsalo");

}