Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

सी++ प्रोग्राम एक लाइन के संबंध में एक बिंदु की स्थिति का पता लगाने के लिए ऊपर-नीचे-पर परीक्षण लागू करने के लिए

यह एक लाइन के संबंध में एक बिंदु की स्थिति खोजने के लिए ऊपर-नीचे-पर परीक्षण लागू करने के लिए एक सी ++ प्रोग्राम है। समतल पर किसी बिंदु t (xt, yt) के लिए, m और n को जोड़ने वाली रेखा L के संबंध में इसकी स्थिति अदिश s की गणना करके ज्ञात की जाती है -

Y = A xt + B yt + C

यदि Y<0, t, L के क्लॉकवाइज हाफप्लेन में स्थित है; यदि Y>0, t वामावर्त आधे तल पर स्थित है; यदि Y=0, t, L पर स्थित है।

एल्गोरिदम

Begin
   Take the points as input.
   For generating equation of the line, generate random numbers for coefficient of x and y (x1,x2,y1,y2) by using rand function at every time of compilation.
   Compute s as (y2 - y1) * x + (x1 - x2) * y + (x2 * y1 - x1 * y2).
   if (s < 0)
      Print "The point lies below the line or left side of the line".
   else if (s >0)
      print "The point lies above the line or right side of the line";
   else
      print "The point lies on the line"
End

उदाहरण कोड

#include<stdlib.h>
#include<iostream>
#include<math.h>
#include<time.h>
using namespace std;

const int L = 0;
const int H= 20;

int main(int argc, char **argv) {
   time_t seconds;
   time(&seconds);
   srand((unsigned int) seconds);

   int x1, x2, y1, y2;
   x1 = rand() % (H - L + 1) + L;
   x2 = rand() % (H - L + 1) + L;
   y1 = rand() % (H - L + 1) + L;
   y2 = rand() % (H - L + 1) + L;

   cout << "The Equation of the 1st line is : (" << (y2 - y1) << ")x+(" << (x1 - x2) << ")y+(" << (x2 * y1 - x1 * y2) << ") = 0\n";

   int x, y;
   cout << "\nEnter the point:";
   cin >>x;
   cin >>y;

   int s = (y2 - y1) * x + (x1 - x2) * y + (x2 * y1 - x1 * y2);
   if (s < 0)
      cout << "The point lies below the line or left side of the line";
   else if (s >0)
      cout << "The point lies above the line or right side of the line";
   else
      cout << "The point lies on the line";
      return 0;
}

आउटपुट

The Equation of the 1st line is : (7)x+(0)y+(-105) = 0

Enter the point:7
6
The point lies below the line or left side of the line

  1. C++ में एक लाइन के मध्य-बिंदु को खोजने का प्रोग्राम

    इस समस्या में, हमें दो बिंदु A और B दिए गए हैं, जो एक रेखा के आरंभ और अंत बिंदु हैं। हमारा काम C++ में एक लाइन के मध्य-बिंदु को खोजने के लिए एक प्रोग्राम बनाना है। समस्या का विवरण - यहाँ, हमारे पास एक रेखा है जिसमें शुरुआती और अंत बिंदु A(x1, y1) और B(x2, y2) हैं। और हमें रेखा के मध्य-बिंदु को खोजन

  1. C++ में त्रिभुज के केंद्रक को खोजने का कार्यक्रम

    इस समस्या में, हमें एक 2D सरणी दी गई है जो त्रिभुज के तीन शीर्षों के निर्देशांकों को दर्शाती है। हमारा काम C++ में त्रिभुज के Centroid को खोजने के लिए एक प्रोग्राम बनाना है। सेंट्रोइड त्रिभुज का वह बिंदु है जिस पर त्रिभुज की तीन माध्यिकाएं प्रतिच्छेद करती हैं। माध्यिका त्रिभुज की वह रेखा है जो त्र

  1. C++ में समांतर चतुर्भुज का क्षेत्रफल ज्ञात करने का कार्यक्रम

    इस समस्या में, हमें दो मान दिए गए हैं जो समांतर चतुर्भुज के आधार और ऊंचाई को दर्शाते हैं। हमारा कार्य C++ में समांतर चतुर्भुज का क्षेत्रफल ज्ञात करने के लिए एक प्रोग्राम बनाना है। समांतर चतुर्भुज एक चार भुजा बंद आकृति है जिसकी विपरीत भुजाएँ एक दूसरे के समान और समानांतर हैं। समस्या को समझने के लि