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

सी ++ प्रोग्राम 1 से एन तक के तत्वों के लिए अलेक्जेंडर बोगोमोल्नी के अनियंत्रित क्रमपरिवर्तन एल्गोरिदम को लागू करने के लिए कार्यक्रम

यह 1 से N तक के तत्वों के लिए अलेक्जेंडर बोगोमोल्नी के अनियंत्रित क्रमपरिवर्तन एल्गोरिदम को लागू करने के लिए एक C++ प्रोग्राम है।

एल्गोरिदम

Begin
   function AlexanderBogomolny() to implement the Algorithms
   Arguments:
      Val[] = an array
      N = number of elements taken as input.
      K = level
      Body of the function:
      intialize l = -1
      l = l+1
      Val[k] = l
      if (l == N)
         Call function display(Val, N)
      else
         for i = 0 to N-1
            if (Val[i] == 0)
               Call AlexanderBogomolny(Val, N, i)
            l = l - 1
            Val[k] = 0
End

उदाहरण

#include<iostream>
#include<iomanip>
using namespace std;
void display(const int *n, const int size) //to display the permutation
{
   int i;
   if (n != 0) {
      for ( i = 0; i < size; i++) {
         cout<<setw(4)<<n[i];
      }
      cout<<"\n";
   }
}
void AlexanderBogomolny(int *Val, int N, int k) {
   static int l = -1;
   int i;
   //At start,Assign level to 0.
   l = l+1;
   Val[k] = l;
   if (l == N)
      display(Val, N);
   else
      for (i = 0; i < N; i++)
         //Assign values to the array if it is zero.
      if (Val[i] == 0)
         AlexanderBogomolny(Val, N, i);
      //Decrement the level after all possible permutation after that level.
      l = l-1;
      Val[k] = 0;
}
int main() {
   int i, N, cnt = 1;
   cout<<"Enter the value to permute first N natural numbers: ";
   cin>>N;
   int Val[N];
   for (i = 0; i < N; i++) {
      Val[i] = 0;
      cnt *= (i+1);
   }
   cout<<"\nThe number of permutations possible is: "<<cnt;
   cout<<"\n\nPermutation using Alexander Bogomolyn's Algorithms \n";
   AlexanderBogomolny(Val, N, 0);
   return 0;
}

आउटपुट

Enter the value to permute first N natural numbers: 5
The number of permutations possible is: 120
Permutation using Alexander Bogomolyn's Algorithms
1 2 3 4 5
1 2 3 5 4
1 2 4 3 5
1 2 5 3 4
1 2 4 5 3
1 2 5 4 3
1 3 2 4 5
1 3 2 5 4
1 4 2 3 5
1 5 2 3 4
1 4 2 5 3
1 5 2 4 3
1 3 4 2 5
1 3 5 2 4
1 4 3 2 5
1 5 3 2 4
1 4 5 2 3
1 5 4 2 3
1 3 4 5 2
1 3 5 4 2
1 4 3 5 2
1 5 3 4 2
1 4 5 3 2
1 5 4 3 2
2 1 3 4 5
2 1 3 5 4
2 1 4 3 5
2 1 5 3 4
2 1 4 5 3
2 1 5 4 3
3 1 2 4 5
3 1 2 5 4
4 1 2 3 5
5 1 2 3 4
4 1 2 5 3
5 1 2 4 3
3 1 4 2 5
3 1 5 2 4
4 1 3 2 5
5 1 3 2 4
4 1 5 2 3
5 1 4 2 3
3 1 4 5 2
3 1 5 4 2
4 1 3 5 2
5 1 3 4 2
4 1 5 3 2
5 1 4 3 2
2 3 1 4 5
2 3 1 5 4
2 4 1 3 5
2 5 1 3 4
2 4 1 5 3
2 5 1 4 3
3 2 1 4 5
3 2 1 5 4
4 2 1 3 5
5 2 1 3 4
4 2 1 5 3
5 2 1 4 3
3 4 1 2 5
3 5 1 2 4
4 3 1 2 5
5 3 1 2 4
4 5 1 2 3
5 4 1 2 3
3 4 1 5 2
3 5 1 4 2
4 3 1 5 2
5 3 1 4 2
4 5 1 3 2
5 4 1 3 2
2 3 4 1 5
2 3 5 1 4
2 4 3 1 5
2 5 3 1 4
2 4 5 1 3
2 5 4 1 3
3 2 4 1 5
3 2 5 1 4
4 2 3 1 5
5 2 3 1 4
4 2 5 1 3
5 2 4 1 3
3 4 2 1 5
3 5 2 1 4
4 3 2 1 5
5 3 2 1 4
4 5 2 1 3
5 4 2 1 3
3 4 5 1 2
3 5 4 1 2
4 3 5 1 2
5 3 4 1 2
4 5 3 1 2
5 4 3 1 2
2 3 4 5 1
2 3 5 4 1
2 4 3 5 1
2 5 3 4 1
2 4 5 3 1
2 5 4 3 1
3 2 4 5 1
3 2 5 4 1
4 2 3 5 1
5 2 3 4 1
4 2 5 3 1
5 2 4 3 1
3 4 2 5 1
3 5 2 4 1
4 3 2 5 1
5 3 2 4 1
4 5 2 3 1
5 4 2 3 1
3 4 5 2 1
3 5 4 2 1
4 3 5 2 1
5 3 4 2 1
4 5 3 2 1
5 4 3 2 1

  1. अलेक्जेंडर बोगोमोल्नी का अनियंत्रित क्रमचय एल्गोरिथ्म C++ . में

    यहां, हमें एक नंबर N दिया गया है। हमारा काम अलेक्जेंडर बोगोमोल्नी के अनऑर्डर्ड परम्यूटेशन एल्गोरिथम का उपयोग करके N का क्रमपरिवर्तन खोजना है। आइए पहले क्रमपरिवर्तन पर चर्चा करें, एक क्रमपरिवर्तन एक सेट में एक आइटम को विशिष्ट रूप से ऑर्डर करने के तरीकों की संख्या को क्रमपरिवर्तन कहा जाता है। उदाह

  1. इष्टतम पृष्ठ प्रतिस्थापन एल्गोरिथम के लिए C++ प्रोग्राम

    पृष्ठ संख्या और पृष्ठ आकार दिया गया; कार्य हिट और मिस की संख्या का पता लगाना है जब हम इष्टतम पेज रिप्लेसमेंट एल्गोरिथम का उपयोग करके किसी पृष्ठ को मेमोरी ब्लॉक आवंटित करते हैं। इष्टतम पृष्ठ प्रतिस्थापन एल्गोरिथम क्या है? इष्टतम पृष्ठ प्रतिस्थापन एल्गोरिथ्म एक पृष्ठ प्रतिस्थापन एल्गोरिथ्म है। पेज

  1. सी ++ प्रोग्राम विगेनियर साइफर को लागू करने के लिए

    Vigenere Cipher, अल्फ़ाबेटिक टेक्स्ट को एन्क्रिप्ट करने की एक तरह की पॉलीअल्फ़ाबेटिक प्रतिस्थापन विधि है। इस विधि में एन्क्रिप्शन और डिक्रिप्शन के लिए Vigenere Cipher Table का उपयोग किया जाता है जिसमें A से Z तक के अक्षर 26 पंक्तियों में लिखे जाते हैं। एन्क्रिप्शन कुंजी: स्वागत है संदेश: यहिस्ट