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

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

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

हम यह जाँच करके करेंगे कि क्या किन्हीं दो का योग हमेशा> तीसरा पक्ष है। यदि हाँ, तो ये तीनों भुजाएँ एक त्रिभुज बना सकती हैं। संभावित त्रिभुजों की वृद्धि संख्या जिन्हें बनाया जा सकता है।

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

इनपुट - गिरफ्तारी [] ={1,2,4,5}

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

स्पष्टीकरण - भुजाएं (2,4,5) केवल 2+4>5 और 4+5>2 और 2+5>4

के रूप में एक त्रिभुज बना सकती हैं

इनपुट - गिरफ्तारी [] ={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[] यादृच्छिक सकारात्मक संख्याओं के साथ आरंभ किया गया।

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

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

  • तीन भुजाओं के लिए तीन लूप लें।

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

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

  • गिरफ्तारी की जाँच करें [i] + गिरफ्तारी [जे]> गिरफ्तारी [के] &&गिरफ्तारी [i] + गिरफ्तारी [के]> गिरफ्तार [जे] &&गिरफ्तारी [के] + गिरफ्तार [जे]> गिरफ्तारी [i] अगर सही वृद्धि गिनती।

  • परिणाम के रूप में वापसी की गिनती।

उदाहरण

#include <bits/stdc++.h>
using namespace std;
int countTriangles(int arr[], int n){
   // Count of triangles
   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++){
            //any two sides have sum > third
            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 << "count of Triangles possible : "<< countTriangles(Arr, len);
   return 0;
}

आउटपुट

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

count of Triangles possible : 8

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

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

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

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

  1. C++ में संख्या को विभाजित करने वाली संख्या में अंकों की संख्या ज्ञात कीजिए

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