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

सभी ट्रिपल को सॉर्ट किए गए सरणी में प्रिंट करें जो सी ++ में एपी बनाते हैं


इस समस्या में, हमें संख्याओं की एक क्रमबद्ध सरणी दी जाती है और हमें अंकगणितीय प्रगति के रूप में त्रिगुणों को खोजने की आवश्यकता होती है।

एक अंकगणितीय प्रगति संख्याओं की एक श्रृंखला है जिसमें क्रमागत पदों के बीच का अंतर समान होता है।

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

Input :
array = {2 , 5 , 7, 8 , 9 , 10}
Output :
2 5 8
5 7 9
7 8 9
8 9 10

इस समस्या को हल करने के लिए, एक साधारण समाधान तीन लूप चलाना और सभी ट्रिपल की जांच करना होगा यदि वे एपी में हैं। लेकिन इस पद्धति में क्रम की समय जटिलता है n 3

एक बेहतर समाधान हैशिंग का उपयोग कर रहा है। इस पद्धति में, हम सरणी के दूसरे तत्व से शुरू करेंगे और प्रत्येक तत्व को AP के मध्य तत्व के रूप में मानेंगे और जांचेंगे कि यह AP बनाता है या नहीं।

उदाहरण

#include <iostream>
using namespace std;
void TripletsAP(int arr[], int n){
   for (int i = 1; i < n - 1; i++){
      for (int j = i - 1, k = i + 1; j >= 0 && k < n;){
         if (arr[j] + arr[k] == 2 * arr[i]){
            cout<<arr[j]<<"\t"<<arr[i]<<"\t"<< arr[k] << endl;
            k++;
            j--;
         }
         else if (arr[j] + arr[k] < 2 * arr[i])
            k++;
         else
            j--;
      }
   }
}
int main(){
   int arr[] = {2 , 5 , 7, 8 , 9 , 10};
   int n = sizeof(arr) / sizeof(arr[0]);
   cout<<"The triplets that are in AP are : \n";
   TripletsAP(arr, n);
   return 0;
}

आउटपुट

AP में मौजूद त्रिक हैं -

2 5 8
5 7 9
7 8 9
8 9 10

  1. तत्वों को जोड़ा जाना है ताकि एक श्रेणी के सभी तत्व सी ++ में सरणी में मौजूद हों

    इस समस्या में, हमें n संख्या से मिलकर एक सरणी arr[] दी जाती है। हमारा काम जोड़े जाने वाले तत्वों की संख्या ज्ञात करने के लिए एक प्रोग्राम बनाना है ताकि एक श्रेणी के सभी तत्व सरणी में मौजूद हों। समस्या का विवरण: यहां, हमें यह सुनिश्चित करने के लिए कि किसी श्रेणी के सभी तत्व सरणी में मौजूद हैं, सरण

  1. एक श्रेणी में संख्याओं की गणना करें जो सी ++ में सभी सरणी तत्वों द्वारा विभाज्य हैं

    संख्याओं की श्रेणी को परिभाषित करने के लिए हमें दो नंबर START और END दिए गए हैं। और सकारात्मक संख्याओं की एक सरणी Arr[] भी। लक्ष्य उन सभी संख्याओं को खोजना है जो Arr[] के सभी तत्वों से विभाज्य हैं और [START,END] की सीमा में हैं। विधि 1 (निष्पक्ष दृष्टिकोण) हम इसे START से END तक की संख्याओं को पार

  1. C++ में किसी सरणी में सभी अभाज्य संख्याओं का गुणनफल

    कुछ तत्वों के साथ एक पूर्णांक सरणी arr[] को देखते हुए, कार्य उस संख्याओं की सभी अभाज्य संख्याओं का गुणनफल खोजना है। अभाज्य संख्याएँ वे संख्याएँ होती हैं जिन्हें या तो 1 से या स्वयं संख्या से विभाजित किया जाता है, या एक अभाज्य संख्या एक ऐसी संख्या होती है जो 1 और स्वयं संख्या को छोड़कर किसी अन्य संख