Código del programa de prueba de triángulo C
# incluir ltmath.h gt
# incluir ltiostream gt
# incluir ltstring gt
Usar espacio de nombres std
estructura typedef
{ float x; //coordenada x
float y //coordenada y
} TwoD// Utilice la estructura para representar coordenadas bidimensionales.
Área doble (flotante, flotante, flotante); //Encuentra la función de área
TwoD Thirddot(TwoD, TwoD); //Encuentra la función trígono
TwoD Crossdot(TwoD, TwoD, TwoD, TwoD); //Encuentra la función de intersección de dos líneas
Distancia flotante (TwoD, TwoD) //Encuentra la función de distancia entre dos puntos
//Encuentra la función trígono
Dos terceros (dos multitorres, dos DotB)
{Wood·DotC;
dotc. x =(dota . ;
}
//Encuentra la función de intersección de dos líneas
Dos puntos cruzados (dos puntos cruzados, dos puntos cruzadosb, dos cross dotc, dos cruces dotd)//Es decir, la intersección de AB y CD.
{Punto flotante a, b;
Dos puntosE
a = (dota . y-dotb . y)/(dota . x-dotb . x );
b =(dotc . y-dotd . y)/(dotc . x-dotd . x);
dote . x =(puntoc . y-dota . y a * dota . x-b * dotc . x)/(a-b);
dote . y = a *(dote . x-dota . );}
//Función de área triangular<. /p>
Área dual (coma flotante a, coma flotante b, coma flotante c)
{Temperatura de punto flotante;
Doble s;
temp =(a b c)/2;
s=sqrt(temp*(temporary-a)*(temporary-b)*( Temporal-c));
Orden de devolución; }
//Función de distancia de dos puntos
Distancia flotante (dos DotA, dos DotB)
p>{ float d;
d = sqrt((dota . x-dotb . x)*(dota . x-dotb . x) (dota . y-dotb . y)*( dota . y-dotb . y)); p>Return (d);
}
//int _tmain(int argc, _TCHAR* argv[] )
int main()
{ TwoD DotA//Vértice del triángulo exterior
TwoD DotA1, DotB1, dotc 1; //3 puntos
TwoD DotA2, DotB2, DotC2 //Vértices de el triángulo interior
Puntos flotantes a, b, c, a1, b1, c 1; //Aristas de los triángulos exterior e interior
Doble s, s1, n; Área del triángulo exterior, área del triángulo interior, relación del área
//C2 B2 TwoD A2; //3 puntos
cout lt lt "Ingrese datos" ltendl
CIN gt; gtDotA.x
CIN gt; gtDotA.y
CIN gt; gtDotB.x
CIN gt;
CIN gt; gtDotC.x
CIN gt; gtDotC.y//Ingrese las coordenadas del vértice.
a = distancia (PuntoA, PuntoB);
b = distancia (PuntoB, PuntoC);
c = distancia (PuntoB, PuntoC); Encuentra el borde exterior del triángulo
if(((a b) lt; = c)| |((b c) lt; = a)| |((a c) lt; = b))
cout lt lt "¡No se puede formar un triángulo!" lt ltendl // Determina si se puede formar un triángulo.
Otros
{
PuntoA 1 = Tercerpunto(PuntoB DotA);
PuntoB1 = Tercerpunto(PuntoB, PuntoC); p>
p>
DotC1=Thirddot(DotC, DotA); //Encontrar dos tercios.
PuntoA2=Punto Cruz(PuntoA, PuntoB1, PuntoC1, PuntoB
PuntoB2=Punto Cruz(PuntoA1, PuntoC, PuntoC1, PuntoB2
PuntoC2=Punto Cruz(PuntoA); , DotB1, DotA1, DotC2//Encuentra los vértices del triángulo interno
a 1 = distancia (DotA2, punto B2);
b 1 = distancia (DotB2, punto C2); ;
c 1 = distancia (PuntoA2, punto C2); // Encuentra la longitud del lado del triángulo interior
s = Área (a, b, c); del triángulo exterior
s 1 = área (a1, b1, c 1 //Área del triángulo interior
n = s/s 1;
cout lt lt" Su rango de área es "lt ltn lt ltendl//Imprime la proporción
}
Devuelve 0;
}
Solución equivalente