हम एक C++ प्रोग्राम पर विचार करेंगे जो समीकरण का उपयोग करके जांचता है कि क्या कोई पॉइंट d, प्लेन में पॉइंट्स a, b, c द्वारा परिभाषित सर्कल के अंदर या बाहर है
s = (x-xt)^2 + (y-yt)^2 – r*r
जहां, प्लेन पर किसी भी पॉइंट t (xt, yt) के लिए, 3 पॉइंट्स (x1, y1), (x2, y2), (x3, y3) द्वारा परिभाषित सर्कल के संबंध में उसकी स्थिति।
s < 0 के लिए, t सर्कल के अंदर है।
s >0 के लिए, t सर्कल के बाहर है।
s = 0 के लिए, t सर्कल पर है।
एल्गोरिदम
Begin पॉइंट्स को इनपुट पर लें। कॉन्स्टेंट L = 0 और H = 20 डिक्लेयर करें समीकरण के वेरिएबल्स डिक्लेयर करें। समीकरण उत्पन्न करने के लिए, कंपाइलेशन के हर बार rand का उपयोग करके x और y के गुणांक के लिए रैंडम नंबर उत्पन्न करें। सर्कल के सेंटर की गणना करें। सर्कल की त्रिज्या की गणना करें। s की गणना करें। यदि s < 0, तो पॉइंट सर्कल के अंदर है प्रिंट करें। अन्यथा यदि s >0, तो पॉइंट सर्कल के बाहर है प्रिंट करें। अन्यथा यदि s = 0, तो पॉइंट सर्कल पर है प्रिंट करें। End
उदाहरण कोड
#include<time.h> #include<stdlib.h> #include<iostream> #include<math.h> using namespace std; const int L= 0; const int H = 20; int main(int argc, char **argv) { time_t s; time(&s); srand((unsigned int) s); double x1, x2, y1, y2, x3, y3; double a1, a2, c1, c2, r; x1 = rand() % (H - L+ 1) + L; x2 = rand() % (H - L + 1) + L; x3 = rand() % (H- L + 1) + L; y1 = rand() % (H- L + 1) + L; y2 = rand() % (H- L+ 1) + L; y3 = rand() % (H- L + 1) + L; a1 = (y1 - y2) / (x1 - x2); a2 = (y3 - y2) / (x3 - x2); c1 = ((a1 * a2 * (y3 - y1)) + (a1 * (x2 + x3)) - (a2 * (x1 + x2))) / (2 * (a1 - a2));//सर्कल का सेंटर कैलकुलेट करें c2 = ((((x1 + x2) / 2) - c1) / (-1 * a1)) + ((y1 + y2) / 2);//सर्कल का सेंटर कैलकुलेट करें r = sqrt(((x3 - c1) * (x3 - c1)) + ((y3 - c2) * (y3 - c2)));//त्रिज्या कैलकुलेट करें cout << "The points on the circle are: (" << x1 << ", " << y1 << "), (" << x2 << ", " << y2 << "), (" << x3 << ", " << y3 << ")"; cout << "\nThe center of the circle is (" << c1 << ", " << c2 << ") and radius is " << r; cout << "\nEnter the point : "; int u, v; cin >>u; cin >>v; double s1 = ((u - c1) * (u - c1)) + ((v - c2) * (v - c1)) - (r * r); if (s1 < 0) cout << "\nThe point lies inside the circle"; else if (s1 >0) cout << "\nThe point lies outside the circle"; else cout << "\nThe point lies on the circle"; return 0; }आउटपुट
The points on the circle are: (8, 4), (9, 17), (5, 9) The center of the circle is (12.6364, 10.8182) and radius is 7.84983 Enter the point : 7 6 The point lies outside the circle