
Realizzeremo un algoritmo sui triangoli in C che controlla se i tre valori presi in input possono essere i lati di un triangolo e dopo verifichi se si tratta di un triangolo isoscele, scaleno o equilatero.
Ricordiamo la proprietà dei triangoli:
In un triangolo ogni lato è minore della somma degli altri due.
Chiediamo in input i lati del triangolo e verifichiamo se sussiste la proprietà che abbiamo appena detto. Quindi inseriamo un ciclo do-while che richiede i dati se la condizione che ogni lato è minore della somma degli altri due non è soddisfatta.
La condizione specificata nel while è questa:
while (not(lato1<lato2+lato3 && lato2<lato3+lato1 && lato3<lato1+lato2));
Dopo, con un if determiniamo se il triangolo è equilatero ovvero se lato1==lato2 && lato2==lato3.
Se non è equilatero allora con un altro if determiniamo se è isoscele ovvero se lato1==lato2 || lato2==lato3 || lato1==lato3
Se queste condizioni non sono soddisfatte il triangolo è scaleno.
Programma sui triangoli in C che verifica se un triangolo è equilatero, isoscele o scaleno
#include <stdio.h>
int main()
{
int lato1, lato2, lato3;
printf("Inserisci i valori dei tre lati. \n");
do {
printf("Deve essere verificata la proprieta' dei triangoli:\n");
scanf("%d %d %d", &lato1, &lato2, &lato3);
} while (not(lato1<lato2+lato3 && lato2<lato3+lato1 && lato3<lato1+lato2));
if (lato1==lato2 && lato2==lato3)
printf("Il triangolo e' equilatero");
else if(lato1==lato2 || lato2==lato3 || lato1==lato3)
printf("Il triangolo e' isoscele");
else printf("Il triangolo e' scaleno");
}
}
Alcuni link utili:
La successione di Fibonacci in C
Array di nnumeri pari e dispari
grazie per questi esercizi molto utili per capire la logica 🙂