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

C++ प्रोग्राम जटिलता बाधा के साथ n तत्वों में से दूसरा सबसे छोटा खोजने के लिए

यह एक C++ प्रोग्राम है जो दिए गए जटिलता बाधा के साथ n तत्वों में से दूसरा सबसे छोटा खोजने के लिए है।

एल्गोरिदम

Begin
   function SecondSmallest() :
      /* Arguments to this function are:
         A pointer array a.
         Number of elements n
      */
   // Body of the function:
      A variable s1 is declared as to keep track of smallest number.
      A variable s2 is declared as to keep track of second smallest number.
      Initialize both s1 and s2 with INT_MAX.
      Traverse the data array using iteration.
      If current array element is lesser than current value in s1, then s2 = s1 and s1 =
         current array element.
         Else if array element is in between s1 and s2,
            then s2 = current array element.
         if(s2==INT_MAX)
            Print “no second smallest element is present".
         else
      Print s2 as second smallest element.
End

उदाहरण

#include<iostream>
#include <climits> //for INT_MAX
using namespace std;
int SecondSmallest(int *a, int n) {
   int s1, s2, i,t;
   //initialize s1 and s2
   s1 =INT_MAX;
   s2=INT_MAX;
   for(i = 0; i < n; i++) {
      //If current element is smaller than s1
      if(s1 > a[i]) {
         //update s1 and s2
         s2 = s1;
         s1 = a[i];
      }
      //if a[i] is in between s1 and s2
      else if(s2 > a[i] && a[i]!=s1) {
         //update only s2
         s2 = a[i];
      }
   }
   if(s2==INT_MAX)
      cout<<"no second smallest element is present";
   else
      cout<<"Second smallest element is:"<<s2;
}
int main() {
   int n, i;
   cout<<"Enter the number of elements: ";
   cin>>n;
   int array[n];
   for(i = 0; i < n; i++) {
      cout<<"Enter "<<i+1<< " "<<"element: ";
      cin>>array[i];
   }
   SecondSmallest(array, n); //call the function
   return 0;
}

आउटपुट

Enter the number of elements: 5
Enter 1 element: 1
Enter 2 element: 2
Enter 3 element: 1
Enter 4 element: 3
Enter 5 element: 4
Second smallest element is:2

  1. C++ . में दिए गए वृत्त के दो भागों के कोणों का सबसे छोटा अंतर ज्ञात करने का कार्यक्रम

    इस समस्या में, हमें एक सरणी दी गई है जो एक वृत्त के कोणों के आधार पर एक वृत्त के टुकड़े को दर्शाती है। हमारा कार्य C++ में दिए गए वृत्त के दो भागों के कोणों का सबसे छोटा अंतर खोजने के लिए एक कार्यक्रम बनाना है । समस्या का विवरण - हमें सरणी में वृत्त के सभी टुकड़ों के कोण दिए गए हैं। हमें टुकड़े को

  1. C++ प्रोग्राम जटिलता की कमी के साथ त्वरित क्रम को लागू करने के लिए

    त्वरित छँटाई फूट डालो और जीतो पर आधारित है। इस एल्गोरिदम की औसत समय जटिलता ओ (एन * लॉग (एन)) है लेकिन सबसे खराब स्थिति जटिलता ओ (एन ^ 2) है। सबसे खराब स्थिति की संभावना को कम करने के लिए यहां क्विकसॉर्ट को रैंडमाइजेशन का उपयोग करके लागू किया गया है। एल्गोरिदम विभाजन(int a[], int l,int h) Begin  

  1. सी ++ प्रोग्राम एक ऐरे का सबसे बड़ा तत्व खोजने के लिए

    एक सरणी में कई तत्व होते हैं और एक सरणी में सबसे बड़ा तत्व वह होता है जो अन्य तत्वों से बड़ा होता है। उदाहरण के लिए। 5 1 7 2 4 उपरोक्त सरणी में, 7 सबसे बड़ा तत्व है और यह इंडेक्स 2 पर है। किसी सरणी के सबसे बड़े तत्व को खोजने का प्रोग्राम इस प्रकार दिया गया है। उदाहरण #include <iostream> u