Determinare il tipo di triangolo in C
In questo esercizio svilupperemo una programma che ci permette di verificare se i valori dati in input definiscono un triangolo e in particolare se si tratta di un triangolo isoscele, scaleno o equilatero.
Per verificare che i valori in input definiscono effettivamente un triangolo, dobbiamo applicare una delle proprietà fondamentali dei triangoli, la disuguaglianza triangolare. Questa proprietà afferma che in un triangolo la somma di due lati è maggiore della lunghezza del terzo lato, quindi dati tre punti A, B, C deve essere che AB < BC + AC e allo stesso tempo AC < AB + BC e BC < AB + AC. Verificata tale condizione dobbiamo determinare il tipo di triangolo.
Basandosi sui lati i triangoli si possono classificare in triangoli equilateri, isosceli e scaleni. Iniziamo verificando se si tratta di un triangolo equilatero guardando se i tre lati hanno la stessa lunghezza. Se così non fosse, controlliamo se almeno due lati del triangolo possiedono la stessa lunghezza, determinando così un triangolo isoscele. Se anche questo non è il caso, allora siamo certi che si tratta di un triangolo scaleno.
#include <stdio.h>
int main(){
float a, b, c;
printf("Inserisci i lati del triangolo: \n");
scanf("%f %f %f", &a, &b, &c);
while(!((a < b+c) && (b < a+c) && (c < a+b))){
printf("I valori che hai inserito non definiscono un triangolo!\n");
printf("Inserisci i lati del triangolo: \n");
scanf("%f %f %f", &a, &b, &c);
}
printf("Il triangolo che hai inserito è: ");
if(a == b && b == c){
printf("equilatero!");
}else if(a == b || b == c || c == a){
printf("isoscele!");
}else{
printf("scaleno!");
}
return 0;
}
Indice pagine linguaggio C: