Sei sulla pagina 1di 3

#include<iostream>

#include<stdlib.h>
#include<time.h>
#include<math.h>
#define pi 2*asin(1.0)
#define k 180.0/pi
#define mensaje "\nOtra Prueba [S][N]"
using namespace std;
void generarA(int &a1,int &a2){
a1=rand()%8;
a2=rand()%8;
cout<<"a1= "<<a1<<endl
<<"a2= "<<a2<<endl;
}
void generarB(int &b1,int &b2){
b1=rand()%8;
b2=rand()%8;
cout<<"b1= "<<b1<<endl
<<"b2= "<<b2<<endl;
}
void generarC(int &c1,int &c2){
c1=rand()%8;
c2=rand()%8;
cout<<"c1= "<<c1<<endl
<<"c2= "<<c2<<endl;
}
float L1(int a1,int a2,int b1,int b2){
float d1=sqrt(powf(a1-b1,2)+powf(a2-b2,2));
return(d1);
}
float L2(int b1,int b2,int c1,int c2){
float d2=sqrt(powf(b1-c1,2)+powf(b2-c2,2));
return(d2);
}
float L3(int a1,int a2,int c1,int c2){
float d3=sqrtf(powf(a1-c1,2)+powf(a2-c2,2));
return(d3);
}
float semi(int a1,int a2,int b1,int b2,int c1,int c2){
float ps1=L1(a1,a2,b1,b2);
float ps2=L2(b1,b2,c1,c2);
float ps3=L3(a1,a2,c1,c2);
float sp=(ps1+ps2+ps3)/2.0;
return(sp);
}
float angA(int a1,int a2,int b1,int b2,int c1,int c2){
float ps1=L1(a1,a2,b1,b2);
float ps2=L2(b1,b2,c1,c2);
float ps3=L3(a1,a2,c1,c2);
float theta1=k*acos(((powf(ps1,2)+powf(ps3,2))-powf(ps2,2))/(2.0*ps1*ps3));
return(theta1);
}
float angB(int a1,int a2,int b1,int b2,int c1,int c2){
float ps1=L1(a1,a2,b1,b2);
float ps2=L2(b1,b2,c1,c2);
float ps3=L3(a1,a2,c1,c2);

float theta2=k*acos(((powf(ps1,2)+powf(ps2,2))-powf(ps3,2))/(2.0*ps1*ps2));
return(theta2);
}
float angC(int a1,int a2,int b1,int b2,int c1,int c2){
float ps1=L1(a1,a2,b1,b2);
float ps2=L2(b1,b2,c1,c2);
float ps3=L3(a1,a2,c1,c2);
float theta3=k*acos(((powf(ps2,2)+powf(ps3,2))-powf(ps1,2))/(2.0*ps2*ps3));
return(theta3);
}
float altA(int a1,int a2,int b1,int b2,int c1,int c2){
float ps1=L1(a1,a2,b1,b2);
float ag2=angB(a1,a2,b1,b2,c1,c2);
float hA=ps1*sin(ag2*pi*1.0/180);
return(hA);
}
float altB(int a1,int a2,int b1,int b2,int c1,int c2){
float ps2=L2(b1,b2,c1,c2);
float ag3=angC(a1,a2,b1,b2,c1,c2);
float hB=ps2*sin(ag3*pi*1.0/180);
return(hB);
}
float altC(int a1,int a2,int b1,int b2,int c1,int c2){
float ps3=L3(a1,a2,c1,c2);
float ag1=angB(a1,a2,b1,b2,c1,c2);
float hC=ps3*sin(ag1*pi*1.0/180);
return(hC);
}
float medC(int a1,int a2,int b1,int b2,int c1,int c2){
float ps1=L1(a1,a2,b1,b2);
float ps2=L2(b1,b2,c1,c2);
float ps3=L3(a1,a2,c1,c2);
float mC=0.5*sqrtf(2*(powf(ps2,2)+powf(ps3,2))-powf(ps1,2));
return(mC);
}
float medA(int a1,int a2,int b1,int b2,int c1,int c2){
float ps1=L1(a1,a2,b1,b2);
float ps2=L2(b1,b2,c1,c2);
float ps3=L3(a1,a2,c1,c2);
float mA=0.5*sqrtf(2*(powf(ps1,2)+powf(ps3,2))-powf(ps2,2));
return(mA);
}
float medB(int a1,int a2,int b1,int b2,int c1,int c2){
float ps1=L1(a1,a2,b1,b2);
float ps2=L2(b1,b2,c1,c2);
float ps3=L3(a1,a2,c1,c2);
float mB=0.5*sqrtf(2*(powf(ps1,2)+powf(ps2,2))-powf(ps3,2));
return(mB);
}
void triangulo(int a1,int a2,int b1,int b2,int c1,int c2){
float d=semi(a1,a2,b1,b2,c1,c2);
float l1=L1(a1,a2,b1,b2);
float l2=L2(b1,b2,c1,c2);
float l3=L3(a1,a2,c1,c2);
d=d*(d-l1)*(d-l2)*(d-l3);
if(d<=0){

cout<<"\nNo existe el Area del Triangulo "<<endl;


system("pause");
exit(1);
}

else{
double Area=sqrtf(d);
cout<<"\nEl area= "<<Area<<endl;

}
}
void main(){
int a,b,c,d,e,f;
srand((unsigned)time(NULL));
char rpt;
for(;;){system("cls");
generarA(a,b);
cout<<endl;
generarB(c,d);
cout<<endl;
generarC(e,f);
cout<<endl;
cout<<"La distancia d1 es= "<<L1(a,b,c,d)<<endl
<<"La distancia d2 es= "<<L2(c,d,e,f)<<endl
<<"La distancia d3 es= "<<L3(a,b,e,f)<<endl
<<"\nEl valor del semiperimetro es= "<<semi(a,b,c,d,e,f);
triangulo(a,b,c,d,e,f);
cout<<"\nEl angulo del vertice A es= "<<angA(a,b,c,d,e,f)<<endl
<<"El angulo del vertice B es= "<<angB(a,b,c,d,e,f)<<endl
<<"El angulo del vertice C es= "<<angC(a,b,c,d,e,f)<<endl
<<"\nLa altura relativa del vrtice A es= "<<altA(a,b,c,d,e,f)<<endl
<<"La altura relativa del vrtice B es= "<<altB(a,b,c,d,e,f)<<endl
<<"La altura relativa del vrtice C es= "<<altC(a,b,c,d,e,f)<<endl
<<"\nLa medianaa relativa del vrtice A es= "<<medA(a,b,c,d,e,f)<<endl
<<"La mediana relativa del vrtice B es= "<<medB(a,b,c,d,e,f)<<endl
<<"La mediana relativa del vrtice C es= "<<medC(a,b,c,d,e,f)<<endl;
cout<<endl;
cout<<mensaje;
cin>>rpt;
if(rpt=='n' ||rpt=='N')break;
}
}

Potrebbero piacerti anche