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

C++ में क्रमित बिंदुओं की जोड़ी संतोषजनक रेखा समीकरण की संख्या

जिस रेखा समीकरण को संतुष्ट किया जाना चाहिए वह y =mx + c है। एक सरणी, m, और c को देखते हुए, हमें रेखा समीकरण को संतुष्ट करने वाले क्रम बिंदुओं की संख्या ज्ञात करनी होगी। आइए एक उदाहरण देखें।

इनपुट

arr = [1, 2, 3]
m = 1
c = 1

आउटपुट

2

रेखा समीकरण को संतुष्ट करने वाले जोड़े हैं

2 1
3 2

एल्गोरिदम

  • सरणी, m, और c को इनिशियलाइज़ करें।
  • सरणी से सभी जोड़े प्राप्त करने के लिए दो लूप लिखें।
    • जांचें कि युग्म रेखा समीकरण को संतुष्ट करता है या नहीं।
    • हम रेखा समीकरण में मानों को प्रतिस्थापित करके जांच सकते हैं कि समीकरण संतुष्ट है या नहीं।
    • यदि युग्म रेखा समीकरण को संतुष्ट करता है, तो गिनती बढ़ाएँ।
  • गिनती लौटाएं।

कार्यान्वयन

C++ में उपरोक्त एल्गोरिथम का कार्यान्वयन निम्नलिखित है

#include <bits/stdc++.h>
using namespace std;
bool isSatisfyingLineEquation(int arr[], int i, int j, int m, int c) {
   if (i == j) {
      return false;
   }
   return arr[j] == m * arr[i] + c;
}
int getOrderedPointsPairCount(int arr[], int n, int m, int c) {
   int count = 0;
   for (int i = 0; i < n; i++) {
      for (int j = 0; j < n; j++) {
         if (isSatisfyingLineEquation(arr, i, j, m, c)) {
            count++;
         }
      }
   }
   return count;
}
int main() {
   int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
   int n = 10;
   int m = 1, c = 1;
   cout << getOrderedPointsPairCount(arr, n, m, c) << endl;
   return 0;
}

आउटपुट

यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्न परिणाम प्राप्त होंगे।

9

  1. C++ . में रेखा परावर्तन

    मान लीजिए कि हमारे पास 2D तल पर n बिंदु हैं, हमें यह जांचना है कि क्या y-अक्ष के समानांतर कोई रेखा है जो दिए गए बिंदुओं को सममित रूप से दर्शाती है, दूसरे शब्दों में, जांचें कि क्या कोई ऐसी रेखा मौजूद है जो दी गई रेखा पर सभी बिंदुओं को प्रतिबिंबित करने के बाद मूल बिंदुओं का सेट वही होता है जो प्रतिबि

  1. C++ में संख्या रेखा पर देखे गए अलग-अलग बिंदुओं की गणना करें

    हमें 0 और 1 का बाइनरी क्रम दिया गया है। यह भी मान लें कि कोई व्यक्ति current_pos में संग्रहीत स्थिति या बिंदु पर बैठा है। अब current_pos से शुरू करते हुए, यदि बाइनरी अनुक्रम में 0 है तो एक कदम शेष है ( current_pos - 1)। यदि यह 1 है तो वह एक कदम दाएं (current_pos + 1) चलता है। लक्ष्य पूरे बाइनरी अनुक

  1. सी ++ में एक लाइन पर मैक्स पॉइंट्स

    मान लीजिए कि हमारे पास 2D प्लेन है। हमें एक ही सीधी रेखा पर रहने वाले बिंदुओं की अधिकतम संख्या ज्ञात करनी है। तो अगर अंक इस तरह हैं - फिर 4 अंक होते हैं इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - n :=अंकों की संख्या, यदि n <3 है, तो n लौटाएं उत्तर :=2 मैं के लिए 1 से n - 1 की सीमा