Code: Select all
#include <stdio.h>
double det (double a11, double a12, double a21, double a22)
{
return a11 * a22 - a12 * a21;
}
double main()
{
int N;
double d,area,x1,x2,y1,y2,x3,y3,x4,y4;
double x,y;
scanf ( "%d", &N );
printf ( "INTERSECTING LINES OUTPUT\n" );
while ( N-- )
{
scanf ( "%lf %lf %lf %lf", &x1, &y1, &x2, &y2) ;
scanf ( "%lf %lf %lf %lf", &x3, &y3, &x4, &y4) ;
d = det ( x1 - x2, y1 - y2, x3 - x4, y3 - y4 ) ;
if ( d == 0 )
{
area = x1 * y2 + x2 * y3 + x3 * y1 -
y1 * x2 - y2 * x3 - y3 * x1 ;
if ( area == 0 )
{
printf ( "LINE\n" );
}
else
{
printf ( "NONE\n" ) ;
}
}
else
{
x = det ( det ( x1, y1, x2, y2 ), x1 - x2,
det ( x3, y3, x4, y4 ), x3 - x4 ) / d ;
y = det ( det ( x1, y1, x2, y2 ), y1 - y2,
det ( x3, y3, x4, y4 ), y3 - y4 ) / d ;
printf ("POINT %.2lf %.2lf\n",x,y );
}
}
printf ( "END OF OUTPUT\n" );
return 0;
}