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

C++ प्रोग्राम यह पता लगाने के लिए कि क्या केवल दो समानांतर रेखाओं में सभी निर्देशांक बिंदु हैं या नहीं

इस लेख में, हम यह पता लगाने के लिए एक कार्यक्रम पर चर्चा करेंगे कि क्या केवल दो समानांतर रेखाएं सभी दिए गए निर्देशांक बिंदुओं को धारण कर सकती हैं।

इसके लिए हमें एक सरणी दी जाएगी, जैसे कि निर्देशांक (i, arr[i]) होंगे। मान लें कि हमें एक सरणी दी गई है,

arr = {2,6,8,12,14}

तब हम इन बिंदुओं को दो समानांतर रेखाओं पर रख सकते हैं, पहली पंक्ति जिसमें (1,2), (3,8) है और (5,14) . शेष निर्देशांक वाली दूसरी पंक्ति यानी (2,6) और (4,12)।

दी गई रेखाओं द्वारा बनाई गई रेखाओं के ढलानों की तुलना करके इस समस्या को हल किया जा सकता है। जैसा कि हम जानते हैं, (a1,b1) और (a2,b2) द्वारा बनाई गई रेखा का ढलान (b2-b1)/(a2-a1) है।

इसी तरह हम दिए गए सरणी से तीन बिंदु प्राप्त कर सकते हैं और उनके ढलानों की तुलना कर सकते हैं। चूँकि हमारे पास केवल दो रेखाएँ हैं, तीन बिंदुओं में से दो को एक ही रेखा पर होना चाहिए।

ऐसा करने के लिए, हम तीन अंक लेंगे और उनके द्वारा बनाई गई इंटरसेप्ट लाइन की गणना करेंगे। अगर हमें इंटरसेप्ट के बिल्कुल दो अलग-अलग मान मिलते हैं, तो ऐरे के बिंदुओं को दो समानांतर रेखाओं पर दर्शाया जा सकता है, अन्यथा नहीं।

यदि स्थिति संभव हो तो प्रोग्राम 1 लौटाता है, अन्यथा 0.

उदाहरण

#include <bits/stdc++.h>
using namespace std;
//to calculate if we get exactly two values of intercept
bool is_intercept(double slope, int arr[], int num) {
   set<double> Lines;
   for (int i = 0; i < num; i++)
      Lines.insert(arr[i] - slope * (i));
   return Lines.size() == 2;
}
//to check the slope of the given points
bool is_parallel(int arr[], int num) {
   bool slope1 = is_intercept(arr[1] - arr[0], arr, num);
   bool slope2 = is_intercept(arr[2] - arr[1], arr, num);
   bool slope3 = is_intercept((arr[2] - arr[0]) / 2, arr, num);
   return (slope1 || slope2 || slope3);
}
int main() {
   int arr[] = {2,6,8,12,14};
   int num = sizeof(arr)/sizeof(arr[0]);
   cout << (int)is_parallel(arr, num);
   return 0;
}

आउटपुट

1

  1. सी++ में दो लाइनों के चौराहे के बिंदु के लिए कार्यक्रम

    रेखा AB के संगत बिंदु A और B दिए गए हैं और रेखा PQ के संगत बिंदु P और Q दिए गए हैं; कार्य इन दो पंक्तियों के बीच प्रतिच्छेदन बिंदु को खोजना है। नोट - X और Y निर्देशांकों पर 2D समतल में अंक दिए गए हैं। यहाँ A(a1, a2), B(b1, b2) और C(c1, c2), D(d1, d2) निर्देशांक हैं जो दो अलग-अलग रेखाएँ बना रहे ह

  1. C++ प्रोग्राम एक द्विघात समीकरण के सभी मूल खोजने के लिए

    द्विघात समीकरण ax2 . के रूप में होता है + बीएक्स + सी। द्विघात समीकरण के मूल निम्न सूत्र द्वारा दिए गए हैं - तीन मामले हैं - बी2 <4*a*c - जड़ें असली नहीं होती हैं यानी वे जटिल होती हैं बी2 =4*a*c - मूल वास्तविक हैं और दोनों मूल समान हैं। बी2 4*a*c - जड़ें असली हैं और दोनों जड़ें अलग हैं द्विघ

  1. C++ प्रोग्राम यह जांचने के लिए कि कोई नंबर प्राइम है या नहीं

    एक अभाज्य संख्या एक पूर्ण संख्या होती है जो एक से बड़ी होती है और एक अभाज्य संख्या का एकमात्र गुणनखंड एक और स्वयं होना चाहिए। कुछ पहली अभाज्य संख्याएँ हैं - 2, 3, 5, 7, 11, 13 ,17 कोई संख्या अभाज्य है या नहीं यह जाँचने का कार्यक्रम इस प्रकार है। उदाहरण #include <iostream> using namespace std;