#include <iostream>
#include <cmath>
using namespace std;
const int N=3;
typedef struct{
char etiqueta;
float x;
float y;
} Punto;
void pedirDatos(Punto *p);
bool determinar_isosceles(Punto *p);
int main(){
Punto *p = new Punto [N];
pedirDatos(p);
if( determinar_isosceles(p) )
cout<<"\n -> El tringualo SI es isosceles";
else
cout<<"\n -> El triangulo NO es isosceles";
return 0;
}
void pedirDatos(Punto *p){
for(int i=0; i<N; i++){
cout<<"Ingrese la etiqueta del punto: ";
cin>>p[i].etiqueta;
cout<<"Ingrese la coordenada x: ";
cin>>p[i].x;
cout<<"Ingrese la coordenada y: ";
cin>>p[i].y;
}
}
bool determinar_isosceles(Punto *p){
float *d = new float [3]; //longitud de cada lado
d[0] = sqrt( pow( p[0].x - p[1].x, 2 ) + pow( p[0].y - p[1].y, 2 ) );
d[1] = sqrt( pow( p[1].x - p[2].x, 2 ) + pow( p[1].y - p[2].y, 2 ) );
d[2] = sqrt( pow( p[2].x - p[0].x, 2 ) + pow( p[2].y - p[0].y, 2 ) );
if ( (d[0]==d[1]) || (d[1]==d[2]) || (d[2]==d[0]) )
return true;
else
return false;
}