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

किसी दिए गए स्ट्रिंग के सभी अलग-अलग क्रमपरिवर्तनों को C++ में डुप्लीकेट के साथ प्रिंट करें


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

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

Input: string = “XYZ”
Output: XYZ XZY YXZ YZX ZYX ZXY

इस समस्या को हल करने के लिए, हमें स्ट्रिंग के एक तत्व को ठीक करना होगा। और फिर स्ट्रिंग के सभी तत्वों को पुनरावृत्त करें।

उदाहरण

हमारे समाधान को लागू करने के लिए कार्यक्रम,

#include <string.h>
#include <iostream>
using namespace std;
int compare(const void* a, const void* b) {
   return (*(char*)a - *(char*)b);
}
void swapChar(char* a, char* b) {
   char t = *a;
   *a = *b;
   *b = t;
}
int findCeil(char str[], char first, int l, int h) {
   int ceilIndex = l;
   for (int i = l + 1; i <= h; i++)
      if (str[i] > first && str[i] < str[ceilIndex])
         ceilIndex = i;
   return ceilIndex;
}
void printPermutations(char str[]) {
   int size = strlen(str);
   qsort(str, size, sizeof(str[0]), compare);
   bool isFinished = false;
   while (!isFinished) {
      static int x = 1;
      cout<<str<<"\t";
      int i;
      for (i = size - 2; i >= 0; --i)
         if (str[i] < str[i + 1])
      break;
      if (i == -1)
         isFinished = true;
      else {
         int ceilIndex = findCeil(str,
         str[i], i + 1, size - 1);
         swapChar(&str[i], &str[ceilIndex]);
         qsort(str + i + 1, size - i - 1,
         sizeof(str[0]), compare);
      }
   }
}
int main() {
   char str[] = "SNGY";
   cout<<"All permutations of the string"<<str<<" are :\n";
   printPermutations(str);
   return 0;
}

आउटपुट

All permutations of the stringSNGY are −
GNSY GNYS GSNY GSYN GYNS GYSN NGSY NGYS NSGY NSYG NYGS NYSG SGNY SGYN SNGY SNYG SYGN SYNG YGNS YGSN YNGS YNSG YSGN YSNG

  1. किसी दिए गए स्ट्रिंग के सभी सबस्ट्रिंग को C++ में प्रिंट करने का प्रोग्राम

    इस ट्यूटोरियल में, हम किसी दिए गए स्ट्रिंग के सभी सबस्ट्रिंग को प्रिंट करने के लिए एक प्रोग्राम पर चर्चा करेंगे। इसके लिए हमें एक स्ट्रिंग या वर्णों की एक सरणी दी जाएगी। हमारा काम उस विशेष स्ट्रिंग के सभी सबस्ट्रिंग को प्रिंट करना है। उदाहरण #include<bits/stdc++.h> using namespace std; //prin

  1. C++ में दी गई श्रेणी में सभी पैलिंड्रोम को प्रिंट करने का प्रोग्राम

    इस ट्यूटोरियल में, हम एक निश्चित सीमा में सभी पैलिंड्रोम को प्रिंट करने के कार्यक्रम पर चर्चा करेंगे। इसके लिए हमें गणितीय श्रेणी दी जाएगी जिसमें पैलिंड्रोम पाए जाते हैं। हमारा काम उस सीमा के सभी पैलिंड्रोम को ढूंढना और उसे वापस प्रिंट करना है। उदाहरण #include<iostream> using namespace std; /

  1. किसी दिए गए स्ट्रिंग के सभी क्रमपरिवर्तन मुद्रित करने के लिए पायथन प्रोग्राम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक स्ट्रिंग दी गई है जिसकी हमें स्ट्रिंग के सभी संभावित क्रमपरिवर्तन प्रदर्शित करने की आवश्यकता है। आइए अब नीचे दिए गए कार्यान्वयन में समाधान देखें - उदाहरण # conversion def toString(List):    return &