Esercizio 6
Dati tre punti del piano cartesiano A(xa,ya), B(xb,yb) e C(xc,yc) calcolare e visualizzare il perimetro del triangolo da essi formato; se il triangolo è degenere , cioè se due o più vertici coincidono, visualizzare un opportuno messaggio.
Una volta inserite le coordinate dei tre punti bisogna calcolare la lunghezza
dei tre lati AB AC e BC col teorema di pitagora.
Per questo viene richiamata la libreria math.h che fornisce la funzione
sqrt() per il calcolo della radice quadrata e pow()
per il calcolo dell'elevamento a potenza.
#include <iostream>
#include <math.h>
using namespace std;
int main(){
int xa,ya,xb,yb,xc,yc;
float perimetro, AB, AC, BC;
cout<<"ins.xa:";cin>>xa;
cout<<"ins.ya:";cin>>ya;
cout<<"ins.xb:";cin>>xb;
cout<<"ins.yb:";cin>>yb;
cout<<"ins.xc:";cin>>xc;
cout<<"ins.yc:";cin>>yc;
AB = sqrt(pow((yb - ya),2) + pow((xb - xa),2));
AC = sqrt(pow((yc - ya),2) + pow((xc - xa),2));
BC = sqrt(pow((yc - yb),2) + pow((xc - xb),2));
if(AB==0 || AC==0 || BC==0)cout<<"TRIANGOLO DEGENERE";
else {
perimetro = AB + AC + BC;
cout<<perimetro;
}
return 0;
}
Se due punti coincidono, la corrispondente lunghezza del lato è nulla.
In altri termini, se (if) AB=0 oppure (||)
AC=0 oppure (||) BC=0 avremo un triangolo è degenere.
altrimenti (else) bisognerà sommare i tre lati per
calcolare il perimetro e poi stamparlo.
Queste due ultime istruzioni devono essere
inserite in un blocco racchiuso da parentesi graffe sul ramo else perchè
devono essere eseguite in successione qualora la condizione logica risulti
falsa.