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++ में लाइन रिफ्लेक्शन - Y-अक्ष के समानांतर सममित रेखा जांचें C++ में लाइन रिफ्लेक्शन - Y-अक्ष के समानांतर सममित रेखा जांचें

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

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

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

  1. C++ में एक रेखा पर अधिकतम बिंदु C++ में एक रेखा पर अधिकतम बिंदु

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