इस समस्या में, हमें एक स्ट्रिंग दी जाती है और हमें उन सभी वर्णों को खोजना होता है जो स्ट्रिंग में उनकी संख्या के साथ-साथ दोहराए गए हैं।
आइए समस्या को समझने के लिए एक उदाहरण लेते हैं -
Input: TutorialsPoint Output: t (3) o (2) i (2)
स्पष्टीकरण - प्रत्येक वर्ण के घटित होने की आवृत्तियाँ t → 3 हैं; यू → 1; ओ → 2; आर → 1; मैं → 2; ए → 1; एस → 1; n → 1.
अब, इस समस्या को हल करने के लिए हम कैरेक्टर काउंट ढूंढेंगे और इसे स्ट्रिंग से ऐरे में स्टोर करेंगे। और फिर उन पात्रों और घटनाओं को प्रिंट करें जहां freq. यह 1 से अधिक है।
उदाहरण
# include <iostream>
using namespace std;
# define NO_OF_CHARS 256
class duplicate_char{
public :
void charCounter(char *str, int *count){
int i;
for (i = 0; *(str + i); i++)
count[*(str + i)]++;
}
void printDuplicateCharacters(char *str){
int *count = (int *)calloc(NO_OF_CHARS, sizeof(int));
charCounter(str, count);
int i;
for (i = 0; i < NO_OF_CHARS; i++)
if(count[i] > 1)
printf("%c\t\t %d \n", i, count[i]);
free(count);
}
};
int main(){
duplicate_char dupchar ;
char str[] = "tutorialspoint";
cout<<"The duplicate characters in the string\n";
cout<<"character\tcount\n";
dupchar.printDuplicateCharacters(str);
return 0;
} आउटपुट
स्ट्रिंग कैरेक्टर काउंट में डुप्लीकेट कैरेक्टर
i 2 o 2 t 3