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

सी ++ में क्रम में एक स्ट्रिंग के सभी अलग-अलग वर्णों को प्रिंट करें


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

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

Input: tutorials Point
Output: uralsPn

इस समस्या को हल करने के कई तरीके हैं लेकिन हम सबसे प्रभावी एक पर चर्चा करेंगे। सरल में लूप का घोंसला बनाना शामिल है।

इसके लिए, हम 256 आकार के दो सरणियों का उपयोग करेंगे (8-बिट वर्ण संग्रहीत हैं)।

सबसे पहले हम काउंटर ऐरे के सभी मानों को 0 से और इंडेक्स ऐरे के सभी मानों को n (स्ट्रिंग की लंबाई) में इनिशियलाइज़ करेंगे। स्ट्रिंग स्ट्र के ट्रैवर्सल पर और प्रत्येक वर्ण सी के लिए, गिनती बढ़ाएं [x], यदि गिनती [x] =1, अनुक्रमणिका [x] =i। यदि गिनती [x] =2, सूचकांक [x] =n। अनुक्रमित करें और वर्णों को प्रिंट करें।

उदाहरण

हमारे समाधान के कार्यान्वयन को दिखाने के लिए कोड,

#include <bits/stdc++.h>
using namespace std;
const int MAX_CHAR = 256;
void printDistinctCharacters(string str) {
   int n = str.length();
   int count[MAX_CHAR];
   int index[MAX_CHAR];
   for (int i = 0; i < MAX_CHAR; i++) {
      count[i] = 0;
      index[i] = n;
   }
   for (int i = 0; i < n; i++) {
      char x=str[i];
      ++count[x];
      if (count[x] == 1 && x !=' ')
         index[x] = i;
      if (count[x] == 2)
         index[x] = n;
   }
   sort(index, index+MAX_CHAR);
   for (int i=0; i<MAX_CHAR && index[i] != n; i++)
   cout<<str[index[i]]<<" ";
}
int main() {
   string str = "tutorialsPoint";
   cout<<"All distinct Characters of the string '"<<str<<"' are :\n";
   printDistinctCharacters(str);
   return 0;
}

आउटपुट

All distinct Characters of the string 'tutorialsPoint' are −
u r a l s P n
हैं
  1. सी ++ में गेटलाइन (स्ट्रिंग)

    इसका उपयोग स्ट्रीम से वर्णों को बिना स्वरूपित इनपुट के रूप में निकालने के लिए किया जाता है और उन्हें सी-स्ट्रिंग के रूप में s में संग्रहीत करता है, जब तक कि निकाला गया वर्ण परिसीमन वर्ण नहीं होता है, या n वर्ण s (समाप्त अशक्त वर्ण सहित) को लिखे जाते हैं। घोषणा इस प्रकार है: basic_istream& getlin

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

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

  1. सी++ में स्ट्रिंग में सभी वर्णों को टॉगल करें

    यह प्रोग्राम स्ट्रिंग के कैरेक्टर को अपरकेस में ट्रांसलेट करता है। हालाँकि, यह कार्य c++ क्लास लाइब्रेरी की toUpper() विधि का उपयोग करके आसानी से प्राप्त किया जा सकता है। लेकिन इस कार्यक्रम में, हम इसे अपरकेस में वर्णों के ASCII मान की गणना करके करते हैं। एल्गोरिथम इस प्रकार है; एल्गोरिदम START &nbs