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

C++ में संभावित त्रिभुजों की संख्या गिनना


हमें एक सरणी दी गई है जिसमें त्रिभुजों की भुजाओं की लंबाई है। लक्ष्य उस सरणी से किन्हीं तीन भुजाओं को लेकर बनाए जा सकने वाले संभावित त्रिभुजों की संख्या ढूंढना है।

हम इसे जांच करके करेंगे कि किन्हीं दो का योग हमेशा तीसरी भुजा से > है या नहीं। यदि हां तो ये तीन भुजाएं एक त्रिभुज बना सकती हैं। संभावित त्रिभुजों की गिनती बढ़ाते हैं।

आइए उदाहरणों से समझते हैं।

इनपुट - arr[]= {1,2,4,5}

आउटपुट - संभावित त्रिभुजों की संख्या: 1

व्याख्या - भुजाएं (2,4,5) केवल एक त्रिभुज बना सकती हैं क्योंकि 2+4>5, 4+5>2, 2+5>4

इनपुट - arr[]= {4,5,6,3,2}

आउटपुट - संभावित त्रिभुजों की संख्या: 7

व्याख्या - भुजाएं (4,5,6), (4,5,2), (4,5,3), (4,3,2), (5,6,3), (5,6,2) त्रिभुज बना सकती हैं।

नीचे दिए गए प्रोग्राम में उपयोग किया गया दृष्टिकोण

  • हम यादृच्छिक धनात्मक संख्याओं से आरंभ एक पूर्णांक सरणी arr[] लेते हैं।

  • फंक्शन countTriangles(int arr[], int n) सरणी और उसकी लंबाई लेता है और बनाए जा सकने वाले संभावित त्रिभुजों को लौटाता है।

  • त्रिभुजों की प्रारंभिक गिनती को 0 के रूप में लेते हैं।

  • तीन भुजाओं के लिए तीन फॉर लूप लेते हैं।

  • बाहरी लूप 0<=i

  • भुजाओं arr[i], arr[j], arr[k] के लिए जांचते हैं कि क्या वे त्रिभुज की भुजाएं बनाते हैं।

  • जांचते हैं: arr[i] + arr[j] > arr[k] && arr[i] + arr[k] > arr[j] && arr[k] + arr[j] > arr[i] यदि सही है तो काउंट बढ़ाते हैं।

  • काउंट को परिणाम के रूप में लौटाते हैं।

उदाहरण

#include <bits/stdc++.h> using namespace std; int countTriangles(int arr[], int n){ // त्रिभुजों की गिनती int count = 0; for (int i = 0; i < n-2; i++){ for (int j = i + 1; j < n-1; j++){ for (int k = j + 1; k < n; k++){ //किन्हीं दो भुजाओं का योग तीसरे से > if ( arr[i] + arr[j] > arr[k] && arr[i] + arr[k] > arr[j] && arr[k] + arr[j] > arr[i]) { count++; } } } } return count; } int main(){ int Arr[] = { 1,2,5,3,6,8,10 }; int len = sizeof(Arr) / sizeof(Arr[0]); cout << "संभावित त्रिभुजों की संख्या: "<< countTriangles(Arr, len); return 0; }

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्नलिखित आउटपुट उत्पन्न करेगा -

संभावित त्रिभुजों की संख्या: 8

  1. ग्रिड में दी गई दिशा में संभावित चालों की गणना करने का C++ प्रोग्राम ग्रिड में दी गई दिशा में संभावित चालों की गणना करने का C++ प्रोग्राम

    समस्या विवरण हमें n x m आकार का ग्रिड और प्रारंभिक बिंदु (x, y) दिया गया है। साथ ही चालों/कदमों के जोड़े दिए गए हैं जैसे (1,1), (2,2) आदि। प्रत्येक जोड़ा x और y अक्ष में कदम की इकाइयों को दर्शाता है। लक्ष्य ग्रिड की सीमाओं [1,n] x [1,m] के भीतर ली जा सकने वाली कुल चालों की संख्या ज्ञात करना है। उदा

  1. C++ में दिए गए आकार के आयत के अंदर संभावित समचतुर्भुजों की संख्या गिनना C++ में दिए गए आकार के आयत के अंदर संभावित समचतुर्भुजों की संख्या गिनना

    हमें ऊंचाई × चौड़ाई आयामों वाला एक आयत दिया गया है। आयत को 2D निर्देशांक प्रणाली पर दर्शाया गया है जिसका निचला-बायाँ कोना बिंदु (0,0) पर है। लक्ष्य इस आयत के अंदर संभावित समचतुर्भुजों की संख्या गिनना है जो निम्न शर्तों को पूरा करते हैं: समचतुर्भुज का क्षेत्रफल 0 से अधिक हो। समचतुर्भुज के व

  1. - C++ प्रोग्राम: संख्या में उन अंकों की संख्या ज्ञात करना जो संख्या को विभाजित करते हैं

    मान लें कोई संख्या दी गई है। हमें संख्या के उन अंकों की संख्या गिननी है जो संख्या को समान रूप से विभाजित करते हैं। मान लें संख्या 1012 है, परिणाम 3 है। तीन अंक 1, 1, और 2 हैं जो 1012 को समान रूप से विभाजित करते हैं। इसे हल करने के लिए, हम मापांक ऑपरेशन का उपयोग करके संख्या के प्रत्येक अंक को ज्ञात