/////// File rect.C /////// #include #include "Vector.h" inline float ABS(float x) { return(x > 0 ? x : -x); } int perpendicular(Vector& a, Vector& b) { return ( a.inner(a) > 0 && b.inner(b) > 0 && ABS(a.inner(b)) < 0.00000001 ); } void getpoint(float& x, float& y, int i) { cout << "x" << i << "= "; cin >> x; cout << "y" << i << "= "; cin >> y; } int main() { cout << "Enter vertices 0, 1,2,3 \n"; float x[4], y[4]; for ( int i = 0; i < 4; i++) getpoint(x[i], y[i], i); Vector u(x[1]-x[0], y[1]-y[0]); Vector v; for ( i = 0; i < 3; i++) { v = Vector(x[(i+2)%4]-x[i+1], y[(i+2)%4]-y[i+1]); if ( ! perpendicular(u, v) ) { cout << "No, not a rectangle.\n"; return(0); } u = v; } cout << "Yes, a rectangle.\n"; return(0); }