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

C++ प्रोग्राम लंबाई M के N पासवर्ड जनरेट करने के लिए


यह लंबाई M के N पासवर्ड जनरेट करने के लिए एक C++ प्रोग्राम है।

एल्गोरिदम

permutation() फंक्शन रैंडम पासवर्ड जनरेट करता है:

  • आर्गुमेंट्स: पॉइंटर ऐरे a, कुल रैंडम नंबर्स m, पासवर्ड की लंबाई s।
  • यदि m == s, तो सभी एलिमेंट्स प्रिंट करें।
  • अन्यथा, i = m से s-1 तक:
    • स्वैप a[m] और a[i]
    • रिकर्सिवली permutation(a, m+1, s) कॉल करें
    • बैकट्रैक: फिर से स्वैप करें

C++ कार्यान्वयन

#include <iostream>
#include <conio.h>
#include <stdlib.h>
using namespace std;

void permutation(int *a, int m, int s) {
    if (m == s) {
        for (int i = 0; i < s; i++)
            cout << *(a + i);
        cout << endl;
    } else {
        for (int i = m; i < s; i++) {
            int tmp = a[m];
            a[m] = a[i];
            a[i] = tmp;
            permutation(a, m + 1, s);
            tmp = a[m];
            a[m] = a[i];
            a[i] = tmp;
        }
    }
}

int main() {
    cout << "Enter the length of the password: ";
    int n;
    cin >> n;
    int a[n];
    for (int i = 0; i < n; i++)
        a[i] = rand() % 10;
    
    cout << "Random Numbers are:" << endl;
    for (int i = 0; i < n; i++)
        cout << a[i] << endl;
    
    cout << "The Passwords are: " << endl;
    permutation(a, 0, n);
    return 0;
}

आउटपुट

Enter the length of the password: 4
Random Numbers are:
1
7
4
0
The Passwords are:
1740
1704
1470
1407
1047
1074
7140
7104
7410
7401
7041
7014
4710
4701
4170
4107
4017
4071
0741
0714
0471
0417
0147
0174

नोट

यह प्रोग्राम दिए गए अंकों के सभी क्रमपरिवर्तन (permutations) जनरेट करता है। वास्तविक पासवर्ड जनरेशन के लिए क्रिप्टोग्राफिकली सिक्योर रैंडम जनरेटर (std::random_device) का उपयोग करना चाहिए।

  1. - C++ प्रोग्राम: बड़ी संख्या में एलिमेंट्स पर क्विक सॉर्ट करना

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

  1. - C++ प्रोग्राम: यादृच्छिक संख्या उत्पन्न करना

    आइए देखें कि C++ का उपयोग करके यादृच्छिक संख्याएं कैसे उत्पन्न करें। यहां हम 0 से कुछ मान तक की रैंडम संख्या उत्पन्न कर रहे हैं। (इस प्रोग्राम में अधिकतम मान 100 है)। इस ऑपरेशन को करने के लिए हम srand() फंक्शन का उपयोग कर रहे हैं। यह C लाइब्रेरी में है। फंक्शन void srand(unsigned int seed) फंक्शन r

  1. - C++ में CHAR_BIT

    CHAR_BIT क्या है? CHAR_BIT एक बाइट में बिट्स की संख्या दर्शाता है। <climits> या <limits.h> हेडर में परिभाषित। आमतौर पर 8 बिट्स प्रति बाइट होता है। C++ प्रोग्राम उदाहरण #include <bits/stdc++.h> using namespace std; int main() { int x = 28; int total_bits = CHAR_BIT * size