Code:
/*
File: incircles.cpp
Created by: James Selhorst
Creation Date:09/14/12
Synopsis: This program reads in three circles and a query point
and reports which circles contain the query point.
*/
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double x1,y1,x2,y2,x3,y3,x4,y4,a,b,c,dx1,dy1,dx2,dy2,dx3,dy3; // Variable declarations
cout<<"Enter x and y coordinates of circle A (2 values):";// prompt and read in circle A center coordinates
cin>>x1>> y1;
cout<<"Enter radius of circle A:"; // prompt and read in circle A radius
cin>>a;
cout<<"Enter x and y coordinates of circle B (2 values):"; // promt and read in circle B center coordinates
cin>>x2>>y2;
cout<<"Enter radius of circle B:"; // prompt and read in circle B radius
cin>>b;
cout<<"Enter x and y coordinates of circle C (2 values):"; // prompt and read in circle C center coordinates
cin>>x3>>y3;
cout<<"Enter radius of circle C:"; // prompt and read in circle C radius
cin>>c;
cout<<"Enter x and y coordinates of query point (2 values):"; // prompt and read in query point
cin>>x4>>y4;
dx1=(x4-x1);
dy1=(y4-y1);
dx2=(x4-x2);
dy2=(y4-y2);
dx3=(x4-x3);
dy3=(y4-y3);
if ((sqrt((dx1*dx1)+(dy1*dy1))<=a),(sqrt((dx2*dx2)+(dy2*dy2))<=b),(sqrt((dx3*dx3)=(dy3*dy3))<=c))
{
cout<<"Circles A B and C contain point ("<<x4<<","<<y4<<")."<<endl;
}
else if ((sqrt((dx1*dx1)+(dy1*dy1))>=a),(sqrt((dx2*dx2)+(dy2*dy2))<=b),(sqrt((dx3*dx3)=(dy3*dy3))<=c))
{
cout<<"Circles B and C contain point ("<<x4<<","<<y4<<")."<<endl;
}
else if ((sqrt((dx2*dx2)+(dy2*dy2))>=b),(sqrt((dx1*dx1)+(dy1*dy1))<=a),(sqrt((dx3*dx3)=(dy3*dy3))<=c))
{
cout<<"Circles A and C contain point ("<<x4<<","<<y4<<")."<<endl;
}
else if ((sqrt((dx3*dx3)=(dy3*dy3))>=c),(sqrt((dx1*dx1)+(dy1*dy1))<=a),(sqrt((dx2*dx2)+(dy2*dy2))<=b))
{
cout<<"Circles A and B contain point ("<<x4<<","<<y4<<")."<<endl;
}
else if ((sqrt((dx1*dx1)+(dy1*dy1))>=a),(sqrt((dx2*dx2)+(dy2*dy2))>=b),(sqrt((dx3*dx3)=(dy3*dy3))>=c))
{
cout<<"No circle contains points ("<<x4<<","<<y4<<")."<<endl;
}
else if ((sqrt((dx1*dx1)+(dy1*dy1))>=a),(sqrt((dx2*dx2)+(dy2*dy2))>=b),(sqrt((dx3*dx3)=(dy3*dy3))<=c))
{
cout<<"Circle C contains points ("<<x4<<","<<y4<<")."<<endl;
}
else if ((sqrt((dx1*dx1)+(dy1*dy1))>=a),(sqrt((dx3*dx3)=(dy3*dy3))>=c),(sqrt((dx2*dx2)+(dy2*dy2))<=b))
{
cout<<"Circle B contains points ("<<x4<<","<<y4<<")."<<endl;
}
else if ((sqrt((dx2*dx2)+(dy2*dy2))>=b),(sqrt((dx3*dx3)=(dy3*dy3))>=c),(sqrt((dx1*dx1)+(dy1*dy1))<=a))
{
cout<<"Circle A contains points ("<<x4<<","<<y4<<")."<<endl;
}
// Determine location of query point relative to the circles
return 0;
}