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.
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");
}