Answered! Write a program that reads in the center coordinates and radii of three circles, A, B and C, and reports the location of…

Write a program that reads in the center coordinates and radii of three circles, A, B and C, and reports the location of a query point relative to the circles. The location can be one of eight possibilities: contained in A, B and C, contained in A and B, contained in A and C, contained in B and C, contained in A, contained in B, contained in C, not contained in any circles.
1. Prompt and read in the x and y coordinates of the center of circle A;
2. Prompt and read in the radius of circle A;
3. Prompt and read in the x and y coordinates of the center of circle B;
4. Prompt and read in the radius of circle B;
5. Prompt and read in the x and y coordinates of the center of circle C;
6. Prompt and read in the radius of circle C;
7. Prompt and read in the x and y coordinates of the query point;
8. Point (x ; y ) is contained in the circle with center (c x ; c y ) and radius r if: q(x   c x )2 + (y   c y )2 r :
By applying this equation to each circle and the query point, determine which circles contain the query point.
Note: The operator ^ is NOT the square operator in C++. To compute (x   c x )2 in C++, create a variable to hold x   c x and the variable with itself. Same for (y   c y )2.
9. Output should be one of the following:
Circles A, B, and C contain point (x,y). Circles A and B contain point (x,y). Circles A and C contain point (x,y). Circles B and C contain point (x,y). Circle A contains point (x,y). Circle B contains point (x,y). Circle C contains point (x,y). No circle contains point (x,y).
In the output x and y should be replaced by the oating point numbers which are the actual coordinates of x and y .
10. Circle center coordinates, query point coordinates and circle radii are oating point numbers. Use double precision.

Expert Answer

 media%2F678%2F6785a034-07de-4a0c-a4cd-35

media%2F771%2F7716042c-641f-4848-a82f-07

media%2Feab%2Feab9c4a2-31b4-4333-88d6-4d

media%2F985%2F985cfa0e-05bb-4125-b90e-be

media%2F67f%2F67f1356c-fdd8-4f29-9c68-07

media%2Fdfc%2Fdfcc6ac5-0e34-4cce-b517-3b

media%2F5d1%2F5d1f0c83-89d7-4df3-9f81-c7

media%2Fa74%2Fa74ccbc5-03e4-4a16-8b9e-73

media%2Fac3%2Fac37d4d9-6760-445d-9151-3f

Code:

#include<iostream>
#include<cmath>
//#include<conio>

using namespace std;
int main()
{
// Variable declarations
double xA; // x coordinate circle A
double yA; // y coordinate circle A
double xB; // x coordinate circle B
double yB; // y coordinate circle B
double xC; // x coordinate circle C
double yC; // y coordinate circle C
double dxA; // x coordinate circle A
double dyA; // y coordinate circle A
double dxB; // x coordinate circle B
double dyB; // y coordinate circle B
double dxC; // x coordinate circle C
double dyC; // y coordinate circle C
double radiusA; // radius of circle A
double radiusB; // radius of circle B
double radiusC; // radius of circle C
double queryX; // query x coordinate
double queryY; // query y coordinate
//double dxA = queryX – xA; // x distance between query and circle A
//double dyA = queryY – yA; // y distance between query and circle A
//double dxB = queryX – xB; // x distance between query and circle B
//double dyB = queryY – yB; // y distance between query and circle B
//double dxC = queryX – xC; // x distance between query and circle C
//double dyC = queryY – yC; // y distance between query and circle C
bool qpA; // query point in circle A y/n
bool qpB; // query point in circle B y/n
bool qpC; // query point in circle C y/n

// Prompt and read in circle A center coordinates
cout << “Enter x and y coordinates of circle A (2 values): “;
cin >> xA;
cin >> yA;

// Prompt and read in circle A radius
cout << “Enter radius of circle A: “;
cin >> radiusA;

// Prompt and read in circle B center coordinates
cout << “Enter x and y coordinates of circle B (2 values): “;
cin >> xB;
cin >> yB;

// Prompt and read in circle B radius
cout << “Enter radius of circle B: “;
cin >> radiusB;

// Prompt and read in circle C center coordinates
cout << “Enter x and y coordinates of circle C (2 values): “;
cin >> xC;
cin >> yC;

// Prompt and read in circle C radius
cout << “Enter radius of circle C: “;
cin >> radiusC;

// Prompt and read in query point
cout << “Enter x and y coordinates of query point (2 values): “;
cin >> queryX;
cin >> queryY;

dxA = queryX – xA; // x distance between query and circle A
dyA = queryY – yA; // y distance between query and circle A
dxB = queryX – xB; // x distance between query and circle B
dyB = queryY – yB; // y distance between query and circle B
dxC = queryX – xC; // x distance between query and circle C
dyC = queryY – yC; // y distance between query and circle C

// Determine location of query point relative to the circles

if ((dxA*dxA)+(dyA*dyA) <= (radiusA*radiusA))
{
qpA = 1;
}
else
{
qpA = 0;
}
if ((dxB*dxB)+(dyB*dyB) <= (radiusB*radiusB))
{
qpB = 1;
}
else
{
qpB = 0;
}
if ((dxC*dxC)+(dyC*dyC) <= (radiusC*radiusC))
{
qpC = 1;
}
else
{
qpC = 0;
}

// Determine whether circles contain query point
if (qpA == 0 && qpB == 0 && qpC == 0)
{
cout << “No circle contains point (” << queryX << “,” << queryY << “).” ;
}

else if (qpA == 1 && qpB == 0 && qpC == 0)
{
cout << “Circle A contains point (” << queryX << “,” << queryY << “).” ;
}

else if (qpA == 0 && qpB == 1 && qpC == 0)
{
cout << “Circle B contains point (” << queryX << “,” << queryY << “).” ;
}

else if (qpA == 0 && qpB == 0 && qpC == 1)
{
cout << “Circle C contains point (” << queryX << “,” << queryY << “).” ;
}

else if (qpA == 1 && qpB == 1 && qpC == 0)
{
cout << “Circles A and B contain point (” << queryX << “,” << queryY << “).” ;
}

else if (qpA == 1 && qpB == 0 && qpC == 1)
{
cout << “Circles A and C contain point (” << queryX << “,” << queryY << “).” ;
}

else if (qpA == 0 && qpB == 1 && qpC == 1)
{
cout << “Circles B and C contain point (” << queryX << “,” << queryY << “).” ;
}

else cout << “Circles A, B and C contain point (” << queryX << “,” << queryY << “).” ;
return(0);
}

Still stressed from student homework?
Get quality assistance from academic writers!