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

C++ में सरणी मानों से त्रिभुज बनाना संभव है

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

गैर-पतित त्रिभुज - यह एक त्रिभुज है जिसका एक धनात्मक क्षेत्रफल है। a, b, c भुजाओं वाले एक गैर-पतित त्रिभुज के लिए शर्त है -

a + b > c
a + c > b
b + c > a

आइए समस्या को बेहतर ढंग से समझने के लिए एक उदाहरण लेते हैं -

इनपुट - गिरफ्तारी[2, 5 ,9, 4, 3]

आउटपुट - हाँ

स्पष्टीकरण - बनने वाला त्रिभुज 2 3 4 है।

इस समस्या को हल करने के लिए, हम जाँच करेंगे कि उपरोक्त शर्त सरणी के मानों से संतुष्ट है।

एक नौसेना समाधान में सरणी के प्रत्येक त्रिक की सीधी जाँच शामिल होगी।

एक अधिक प्रभावी समाधान में सरणी तत्वों को छाँटना और सरणी के लगातार तीन ट्रिपल की जाँच करना शामिल होगा। सॉर्ट किए गए सरणी के लिए यदि दो तत्वों का योग अगले एक से अधिक नहीं है तो उसके बाद के चेक मान योग्य नहीं हैं (वे पहले से ही बड़े हैं)।

उदाहरण

हमारे समाधान के कार्यान्वयन को दिखाने के लिए कार्यक्रम

#include <bits/stdc++.h>
using namespace std;
bool isTrianglePossible(int arr[], int N){
   if (N < 3)
      return false;
   sort(arr, arr + N);
   for (int i = 0; i < N - 2; i++)
      if (arr[i] + arr[i + 1] > arr[i + 2])
         return true;
}
int main() {
   int arr[] = {5, 12, 13, 65, 6, 1};
   int N = sizeof(arr) / sizeof(int);
   cout<<"Creation of triangle from elements of array ";
   isTrianglePossible(arr, N)?cout<<"is Possible": cout<<"is not Possible";
   return 0;
}

आउटपुट

Creation of triangle from elements of array is Possible

  1. सी ++ में दो संभावित मानों से एक चर के लिए अन्य मान असाइन करें

    समस्या का विवरण हमें किसी भी सशर्त ऑपरेटर का उपयोग किए बिना दो संभावित मानों से एक चर को अन्य चरों का मान निर्दिष्ट करना होगा। विवरण इस समस्या में, हमें एक चर दिया गया है मान लीजिए a जिसका मान x और y के दो चरों में से किसी एक का मान हो सकता है। अब, हमें किसी भी सशर्त ऑपरेटर का उपयोग किए बिना किसी

  1. C++ फ़ंक्शन से एकाधिक मान लौटाना

    C या C++ में, हम सीधे किसी फंक्शन से कई मान नहीं लौटा सकते। इस खंड में हम देखेंगे कि किसी फ़ंक्शन से एक से अधिक मान वापस करने के लिए किसी ट्रिक का उपयोग कैसे करें। हम कॉल बाय एड्रेस या कॉल बाय रेफरेंस नामक विधि का उपयोग करके एक फ़ंक्शन से एक से अधिक मान वापस कर सकते हैं। इनवॉकर फ़ंक्शन में हम परिणा

  1. सी ++ में किसी फ़ंक्शन से सरणी कैसे वापस करें?

    सी ++ पूरे सरणी को वापस नहीं करता है लेकिन यह पॉइंटर को सरणी में वापस कर सकता है। फ़ंक्शन के बाहर, स्थानीय चर का पता वापस नहीं किया जा सकता है। स्थानीय चर को स्थिर बनाकर, यह स्थानीय चर का पता वापस कर सकता है। पॉइंटर वापस करने के लिए सिंटैक्स निम्नलिखित है। int * function_name() { body } यहां, fun